From 59c6998c30630453371516f40bfa19f6fd24cf36 Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Mon, 28 May 2007 01:17:37 +0000 Subject: [PATCH] Allow subclasses to choose not to call handleFrame() when ADDED_TO_STAGE is received. git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@253 ed5b42cb-e716-0410-a449-f6a68f950b19 --- src/as/com/threerings/flash/FrameSprite.as | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/as/com/threerings/flash/FrameSprite.as b/src/as/com/threerings/flash/FrameSprite.as index 4c9c5a83..c3d68087 100644 --- a/src/as/com/threerings/flash/FrameSprite.as +++ b/src/as/com/threerings/flash/FrameSprite.as @@ -14,8 +14,14 @@ import flash.events.Event; */ public class FrameSprite extends Sprite { - public function FrameSprite () + /** + * @param renderFrameUponAdding if true, the handleFrame() method + * is called whenever an ADDED_TO_STAGE event is received. + */ + public function FrameSprite (renderFrameUponAdding :Boolean = true) { + _renderOnAdd = renderFrameUponAdding; + addEventListener(Event.ADDED_TO_STAGE, handleAdded); addEventListener(Event.REMOVED_FROM_STAGE, handleRemoved); } @@ -26,7 +32,9 @@ public class FrameSprite extends Sprite protected function handleAdded (... ignored) :void { addEventListener(Event.ENTER_FRAME, handleFrame); - handleFrame(); // update immediately + if (_renderOnAdd) { + handleFrame(); // update immediately + } } /** @@ -44,6 +52,9 @@ public class FrameSprite extends Sprite { // nothing here. Override in yor subclass. } + + /** Should we call handleFrame() when we get ADDED_TO_STAGE? */ + protected var _renderOnAdd :Boolean; } }