From 09a2f8e950beb7ffc91be5f8f398e3f4115972a1 Mon Sep 17 00:00:00 2001 From: Walter Korman Date: Tue, 1 Oct 2002 04:24:34 +0000 Subject: [PATCH] Initialize the animation starting time when the animation is first ticked rather than requiring that it be set via setStartTime(). git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1764 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../media/animation/ExplodeAnimation.java | 27 +++++++++---------- .../media/animation/FadeAnimation.java | 19 +++++++------ 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/java/com/threerings/media/animation/ExplodeAnimation.java b/src/java/com/threerings/media/animation/ExplodeAnimation.java index 11e6b1589..38dbc9f35 100644 --- a/src/java/com/threerings/media/animation/ExplodeAnimation.java +++ b/src/java/com/threerings/media/animation/ExplodeAnimation.java @@ -1,5 +1,5 @@ // -// $Id: ExplodeAnimation.java,v 1.12 2002/08/19 21:08:51 shaper Exp $ +// $Id: ExplodeAnimation.java,v 1.13 2002/10/01 04:24:34 shaper Exp $ package com.threerings.media.animation; @@ -139,27 +139,26 @@ public class ExplodeAnimation extends Animation _angle = 0.0f; } - /** - * Sets the animation starting time. - */ - public void setStartTime (long timestamp) - { - _start = timestamp; - if (_info.delay != -1) { - _end = _start + _info.delay; - } - } - // documentation inherited public void fastForward (long timeDelta) { - _start += timeDelta; - _end += timeDelta; + if (_start > 0) { + _start += timeDelta; + _end += timeDelta; + } } // documentation inherited public void tick (long timestamp) { + if (_start == 0) { + // initialize our starting time + _start = timestamp; + if (_info.delay != -1) { + _end = _start + _info.delay; + } + } + // figure out the distance the chunks have travelled long msecs = timestamp - _start; diff --git a/src/java/com/threerings/media/animation/FadeAnimation.java b/src/java/com/threerings/media/animation/FadeAnimation.java index 26e0e60ed..4a40aa2f7 100644 --- a/src/java/com/threerings/media/animation/FadeAnimation.java +++ b/src/java/com/threerings/media/animation/FadeAnimation.java @@ -1,5 +1,5 @@ // -// $Id: FadeAnimation.java,v 1.4 2002/04/25 16:23:30 mdb Exp $ +// $Id: FadeAnimation.java,v 1.5 2002/10/01 04:24:34 shaper Exp $ package com.threerings.media.animation; @@ -46,17 +46,14 @@ public class FadeAnimation extends Animation _comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, _alpha); } - /** - * Sets the animation starting time. - */ - public void setStartTime (long timestamp) - { - _start = timestamp; - } - // documentation inherited public void tick (long timestamp) { + if (_start == 0) { + // initialize our starting time + _start = timestamp; + } + // figure out the current alpha long msecs = timestamp - _start; _alpha = _startAlpha + (msecs * _step); @@ -79,7 +76,9 @@ public class FadeAnimation extends Animation // documentation inherited public void fastForward (long timeDelta) { - _start += timeDelta; + if (_start > 0) { + _start += timeDelta; + } } // documentation inherited