ActionScriptプロジェクトにpreloaderを追加
考え方は[Frame(factoryClass="ラベル")]を使うことです.
FrameメタデータラベルはFlashBuilder 4にあります.6の中にalt+/このヒントはありませんが、手で打つと運行は問題ありません
2つのクラスをテストしますPreloaderクラスとメインプログラムクラスBasic_Lesson_1
[Frame]メタデータタグネット上では、マスタードキュメントクラスのリダイレクト、つまりプロジェクトを実行するときに先に実行される[Frame(facotryClass="フルリミットクラス"と紹介されています
名")]
factoryClassが指すこのクラスに移動し、このクラスでPreloaderの表示と進捗操作を行います.
次にpreloaderクラスというクラスはMovieClipがこのクラスのnextFrameメソッドまたはgotoAndPlay(2)を使用して次のフレームに切り替えることを継承し、元のメインプログラムの論理を実行することができます.
次のコードはgetDefinitionByNameでクラスのインポートを行うように書かなければなりません.var app:YourApplicationのようにすると、元のメインプログラムが最初のフレームでプリロードされたクラスを実行しても意味がありません.
FrameメタデータラベルはFlashBuilder 4にあります.6の中にalt+/このヒントはありませんが、手で打つと運行は問題ありません
2つのクラスをテストしますPreloaderクラスとメインプログラムクラスBasic_Lesson_1
[Frame]メタデータタグネット上では、マスタードキュメントクラスのリダイレクト、つまりプロジェクトを実行するときに先に実行される[Frame(facotryClass="フルリミットクラス"と紹介されています
名")]
factoryClassが指すこのクラスに移動し、このクラスでPreloaderの表示と進捗操作を行います.
package
{
import ascb.drawing.Pen;
import com.bless.container.Box;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.ProgressEvent;
[Frame(factoryClass="com.bless.container.Preloader")]
public class basic_lesson_1 extends Sprite
{
public function basic_lesson_1()
{
addChild(drawCircle());
trace("numChildren"+numChildren);
trace("numChildren"+numChildren);
trace("this:"+this);
}
/**
*
* @return
*/
public function drawCircle(showBorder:Boolean=true):Shape
{
var circle:Shape = new Shape();
if(showBorder){
circle.graphics.lineStyle(1,0x7FAAFF,1);
}
circle.graphics.beginFill(0xAAFF7F,0.5);
circle.graphics.drawCircle(50,50,50);
circle.graphics.endFill();
return circle;
}
}
}
次にpreloaderクラスというクラスはMovieClipがこのクラスのnextFrameメソッドまたはgotoAndPlay(2)を使用して次のフレームに切り替えることを継承し、元のメインプログラムの論理を実行することができます.
次のコードはgetDefinitionByNameでクラスのインポートを行うように書かなければなりません.var app:YourApplicationのようにすると、元のメインプログラムが最初のフレームでプリロードされたクラスを実行しても意味がありません.
var basic:Class = getDefinitionByName("basic_lesson_1") as Class;
package com.bless.container
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.utils.getDefinitionByName;
public class Preloader extends MovieClip
{
public function Preloader()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
super();
trace("OK");
loaderInfo.addEventListener(Event.COMPLETE,completeHandler);
}
public function completeHandler(event:Event):void
{
gotoAndPlay(2);
// nextFrame();
initApp();
}
public function initApp():void
{
var basic:Class = getDefinitionByName("basic_lesson_1") as Class;
var myApp:DisplayObject = new basic() as DisplayObject;
addChild(myApp);
}
}
}