So what I'm learning from this is: 'Trigger once while true' doesn't pick the Sprites based on the moment of trigger (ie pick each Sprite which had been triggered indvidually).
Not sure if you understand the meaning and use of 'Trigger once while true'. (i write a lazy T1wt from now on)
T1wt is usually added to one or more conditions in an event, and usually as last condition.
It just makes an event that is continuously true run its actions only once.
It resets when the event is untrue.
Example in super pseudo code.
Say a condition like
If 1 = 1 ?
______actions
That is always true. And it will run its actions every tick, continuously, for ever and one day.
So ....
If 1 = 1 ?
Trigger once while true
______actions
Will run the actions only once and only once only. Since that condition can not ever be set untrue, well not unless Sabrina González Pasterski invents new math.
Or ... more of the same ...
Global variable 'score' = 10 (number)
if score = 10 ?
Trigger once while true
_________actions
This will run its actions only once when 'score' = 10, even if 'score' = 10 for the next 10 years.
But. If you set score to 9, the T1wt gets reset, and the next time you make 'score' again = 10, it will run its actions again only once. The value of 'score' can be changed and therefor the conditions can be made untrue/true.
General use.
Say you have an animation contain 10 frames. You set its animation speed to 10 frames/second.
And each time it shows frame 1, you want to play a little sound. Lets assume the game runs at 60 frames / second. That means that each animation frame sits there for 6 frames in a row, before going to the next frame.
In that case a condition 'animation frame' = 1 ? , will run 6 times in a row, stuttering that audio.
Solve this by using T1wt.
'animation frame' = 1
Trigger once while true
________________ play sound 'plok'
When the animation frame = 2, the condition is untrue, and from there it waits again to become true (=1), to run its action only once again.
Special case to use.
Trigger once while true
_____________________actions
This runs its action only once (used if you want to set up things only once). Since it is not paired up with a condition that can be made untrue again, it will effectively run only once during its lifetime. It is of course essential the same as
If 1 = 1 ?
Trigger once while true
______actions
And that makes the circle round again.