I knew about autoVisible property of the Actuate library (it works the same as autoVisible in Greensock library), but unconsciously ignored it until the past days, especially the fact that it is set to true by default.
In the past I tweened tons of objects by setting alpha to 0 and then back to >0, and everything worked as expected: alpha = 0 ==> invisible, alpha > 0 ==> visible.
Recently I stumbled upon a couple of situations where Actuate set visible to false and then didn’t restore it to true: it happened tweening the alpha of a monochromatic Shape (where drawing it in a Sprite everything worked ok), and today with a Sprite too! What’s happening? Can I disable autoVisible by default? I am used to remove items from display list when their alpha is 0, so autoVisible is useless for me.
There is no way to disable by default (without modifying the library), but perhaps you could use
Actuate.apply instead of
object.alpha = 1; to restore visibility?
alpha = 0; still uses CPU on Flash Player, and elsewhere is still more expensive than
visible = false, so for display objects, I think it’s a sensible default, but I apologize if this is confusing
Joshua, I perfectly understand the advantages of this function, but the real problem is that it not always restores visibility when alpha is > 0, it must be a bug: may be it is related to add/removeChild interaction?
I believe it changes visibility only at alpha = 0, and only at the start of end of the animation
…but it looks like this not always works as expected: I am pretty sure about an unhandled exception, the problem is finding what it is.
I should extract an example when I have a few minutes… but I think this will happen in a few months