From fb1eb6026b04bc4fb360e45f18f6a25207576c7d Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Fri, 27 Apr 2007 00:51:50 +0000 Subject: [PATCH] Call updateAnimation() immediately on any starting animation. git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@212 ed5b42cb-e716-0410-a449-f6a68f950b19 --- src/as/com/threerings/flash/AnimationManager.as | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/as/com/threerings/flash/AnimationManager.as b/src/as/com/threerings/flash/AnimationManager.as index 576ab3d2..3efe2088 100644 --- a/src/as/com/threerings/flash/AnimationManager.as +++ b/src/as/com/threerings/flash/AnimationManager.as @@ -24,12 +24,13 @@ public class AnimationManager { var dex :int = _anims.indexOf(anim); if (dex == -1) { + dex = _anims.length; _anims.push(anim); - _anims.push(NaN); - - } else { - _anims[dex + 1] = NaN; // mark it as starting } + _anims[dex + 1] = getTimer(); // mark it as starting + + // and update it immediately + anim.updateAnimation(0); if (!_framer) { _framer = new Sprite(); @@ -108,12 +109,7 @@ public class AnimationManager var anim :Animation; var startStamp :Number; for (var ii :int = _anims.length - 2; ii >= 0; ii -= 2) { - anim = Animation(_anims[ii]); - startStamp = Number(_anims[ii + 1]); - if (isNaN(startStamp)) { - _anims[ii + 1] = startStamp = now; - } - anim.updateAnimation(now - startStamp); + Animation(_anims[ii]).updateAnimation(now - Number(_anims[ii + 1])); } }