We can't actually share a MultiFrameBitmap across characters since it's a displayobject and can only be in the display tree once. So, let's clone it.

git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@988 ed5b42cb-e716-0410-a449-f6a68f950b19
This commit is contained in:
Mike Thomas
2010-08-17 22:41:27 +00:00
parent 66931468ee
commit 3c789a8bd2
2 changed files with 10 additions and 2 deletions
@@ -88,12 +88,12 @@ public class CompositedActionFrames
createFrames(orient, function(disp :MultiFrameBitmap) :void {
_frameCache.put(key, disp);
for each (var func :Function in listeners) {
func(disp);
func(disp.clone());
}
});
}
} else {
callback(disp);
callback(disp.clone());
}
}
@@ -36,6 +36,7 @@ public class MultiFrameBitmap extends Sprite
{
_frames = frames;
_bitmap = new Bitmap();
_fps = fps;
_frameRate = fps / 1000.0;
addChild(_bitmap);
setFrame(0);
@@ -90,6 +91,11 @@ public class MultiFrameBitmap extends Sprite
}
}
public function clone () :MultiFrameBitmap
{
return new MultiFrameBitmap(_frames, _fps);
}
protected var _frames :Array;
protected var _bitmap :Bitmap;
@@ -98,6 +104,8 @@ public class MultiFrameBitmap extends Sprite
protected var _frameRate :Number;
protected var _fps :Number;
protected var _curFrameIndex :int = -1;
}
}