外部swf内のMovieclipの総フレーム数を取得する //AS3

画像更新が必要なコンテンツでは、今まではFlashを開かずに更新ができるように1枚1枚画像を追加し、それらを紐づけるXMLも持たせて・・・という作りを多用してきましたが、最近、画像の多さ=ファイルの多さはネットワークを介して読込みにいくという行為1つ1つにhtmlのヘッダやらなんやらのいろいろなトラフィックが発生するので、ファイルサイズ以上にストレスになる気がしています。
ということで、画像たちは1つの外部swf内に入れ、クラスとして書き出しておくことで、メインのflashからnewで使うようにしています。
その際に、同じ形状のものは1つのmovieclipとして、フレームで入れ込んで使っています。

言葉で書くといまいちわかりにくいですが、今後のコピペのために、ActionScriptを下に書いておきます。
※スクリプトに間違いがあったので、修正しました。(2010.12.2)

Actionscript3==========
var fileLoader:Loader;
var classA:Class;
var classB:Class;
       
function loadFiles (){
    fileLoader:Loader = new Loader();
    var my_file = "files.swf";
    var myRequest:URLRequest = new URLRequest(my_file);
    fileLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, drawFiles);
    fileLoader.load(myRequest);
}
       
function drawFiles(event:Event):void {
    classA = fileLoader.contentLoaderInfo.applicationDomain.getDefinition("movieclipA") as Class;
    classB = fileLoader.contentLoaderInfo.applicationDomain.getDefinition("movieclipB") as Class;
}

function checkTotalmobiles(){
    var a_mc = new classA();
    trace("totalFrames="+a_mc.totalFrames);
    //addchildは不要
}



Bookmark and Share


ブックマークに追加