新しいENTER_FRAME
0フレーム、1フレームを行き来するムービーを動的に作成して、
mc.addFrameScriptで渡した関数をイベントハンドラ代わりにしています。
これだとEventのインスタンスが作成されないのかな。。。
ならENTER_FRAMEより軽いはず。(未検証だけど)
package {
import flash.utils.getTimer;
import flash.text.TextField;
import flash.utils.ByteArray;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var _mc:MovieClip;
private var _tf:TextField;
public function FlashTest() {
var data:Array = [
0x4657530a, 0x1a000000, 0x09800000,
0x02004411, 0x08000000, 0x40004000,
0x00000000];
var bytes:ByteArray = new ByteArray();
for (var i:int = 0, len:uint = data.length; i < len; i++)
{
bytes.writeInt(data[i]);
}
var loader:Loader = new Loader();
var info:LoaderInfo = loader.contentLoaderInfo;
info.addEventListener(Event.COMPLETE, completeHandler);
loader.loadBytes(bytes);
}
private function handler():void
{
_tf.text = String(getTimer());
}
private function completeHandler(e:Event):void
{
var info:LoaderInfo = e.currentTarget as LoaderInfo;
info.removeEventListener(Event.COMPLETE, completeHandler);
var loader:Loader = info.loader;
_mc = loader.content as MovieClip;
_mc.addFrameScript(0, handler);
_mc.addFrameScript(1, handler);
_tf = new TextField();
addChild(_tf);
}
}
}