古いフラッシュ ゲーム (AS2) のコレクションを Android 携帯に移植する AS3 ラッパーを作成しようとしています。次のコードを使用して、古い AS2 .swf を正常にロードして実行しました (CS5.5 の sim/run ウィンドウで ctrl+Enter)。
// This is the Loader instance that will load your SWF.
var swfLoader:Loader = new Loader();
// URLRequest points to your external SWF
var swfFile:URLRequest = new URLRequest("ha2.swf");
//create the container Movie Clip to load swf
var container:MovieClip= new MovieClip();
// Assign an event listener so that Flash informs you when the SWF has been loaded.
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoadedHandler);
function swfLoadedHandler(e:Event):void {
trace("swf loaded");
//(e.target.content).stop();//returns null reference for stop function
}
swfLoader.load(swfFile);
//just add the loaded swf to container
container.addChild(swfLoader);
//add container to the stage and make it visible
addChild(container);
これは PC で正常に動作し、必要に応じて swf をロードしますが、Android に公開すると、sim のようにスクリプトに従うのではなく、ループ内で AS2 アプリケーションのフレームを超高速でスキップします。
何か案は?はい、これらのゲームは AS3 に再コーディングすればより速く実行できることはわかっていますが、ゲームがたくさんあるので、元のゲームを保存して、シェルをより動的な (ただし効率は低くなりますが) ソリューションにしたいと考えています。
ありがとう。