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
This commit is contained in:
@@ -14,8 +14,14 @@ import flash.events.Event;
|
|||||||
*/
|
*/
|
||||||
public class FrameSprite extends Sprite
|
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.ADDED_TO_STAGE, handleAdded);
|
||||||
addEventListener(Event.REMOVED_FROM_STAGE, handleRemoved);
|
addEventListener(Event.REMOVED_FROM_STAGE, handleRemoved);
|
||||||
}
|
}
|
||||||
@@ -26,7 +32,9 @@ public class FrameSprite extends Sprite
|
|||||||
protected function handleAdded (... ignored) :void
|
protected function handleAdded (... ignored) :void
|
||||||
{
|
{
|
||||||
addEventListener(Event.ENTER_FRAME, handleFrame);
|
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.
|
// nothing here. Override in yor subclass.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Should we call handleFrame() when we get ADDED_TO_STAGE? */
|
||||||
|
protected var _renderOnAdd :Boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user