Skip to main content
Gray Susan
Inspiring
January 21, 2020
Answered

How do I have an object flash until the user clicks a button

  • January 21, 2020
  • 1 reply
  • 1100 views

I have a screen simulation where an object flashes until the user clicks a button.  We hope they'll do that pretty quickly but in case they don't we need it to continue flashing until they do.  Any ideas will be appreciated.  Can this be done with an advanced action?

Thanks in advance,

Susan

This topic has been closed for replies.
Correct answer Gaanf

Sounds like a use case for a 'While' loop in an Advanced Action.
Create two object states for your flashing object to represent Flash_on and Flash_off.

Create a User Variable - say v_isFlashing - and give it a default value of 1.

Create an Advanced Action, check 'Conditional Tab', select 'While' from the 'Perform actions:' drop-down list, and set the condition of v_isFlashing == 1.

Under 'Actions', have your flashing object repeatedly change states between Flash_on and Flash_off, with 'Delay Next Actions By' command in between.

Run this action on Slide Enter.

Have your button assign the value 0 to v_isFlashing.

The script will be looped and executed repeatedly about every second and keep the object flashing as long as v_isFlashing has the value 1. It will stop flashing when the value 0 gets assigned, which happens on click of the button.

Play with the ' Delay Next Actions By' values to make it loop seamlessly.

1 reply

GaanfCorrect answer
Inspiring
January 21, 2020

Sounds like a use case for a 'While' loop in an Advanced Action.
Create two object states for your flashing object to represent Flash_on and Flash_off.

Create a User Variable - say v_isFlashing - and give it a default value of 1.

Create an Advanced Action, check 'Conditional Tab', select 'While' from the 'Perform actions:' drop-down list, and set the condition of v_isFlashing == 1.

Under 'Actions', have your flashing object repeatedly change states between Flash_on and Flash_off, with 'Delay Next Actions By' command in between.

Run this action on Slide Enter.

Have your button assign the value 0 to v_isFlashing.

The script will be looped and executed repeatedly about every second and keep the object flashing as long as v_isFlashing has the value 1. It will stop flashing when the value 0 gets assigned, which happens on click of the button.

Play with the ' Delay Next Actions By' values to make it loop seamlessly.

Gray Susan
Inspiring
January 21, 2020

I must be doing something wrong.  Here is what I built from the directions above.  In the properties panel for the button to stop the loop I've assigned 0 to v_isFlashing.

 

Inspiring
January 21, 2020

Hhm, works for me.

Do you run the 'Loop' Advanced Action on Slide Enter? Sorry, looks like I initially failed to mention that in my previous post. Corrected now.