完全沒碰過Flash的語法
或者以下我的文章大家如果看不懂
強烈建議手邊要有書!!!
因為AS3語法不會太簡單,我對這語法還不熟
這理做筆記用以免馬上忘記
這是普通載入一個swf或是圖檔的寫法
var loader = new Loader(); //設定loader為載入影片的物件
loader.load(new URLRequest(“home.swf”)); //設定載入來源名稱
addChild(loader); //載入至舞台(stage)上
loader.x = 0; //設定載入後的X位置
loader.y = 0; //設定載入後的Y位置
語法中addChild的前面如果沒寫字,就是載入到舞台上
而有寫名字就會載入到指定名稱的MovieClip上
例如
myMovieClip.addChild(loader);
=======================================================
先說說Flash的階層概念
在Flash中,大部分的東西都是物件(DisplayObject),只是有名字跟沒名字而已(可做程式化控制)
載有載入外部檔案的時候,MainTimeline可以有多個,而stage只有一個
根目錄是[object Stage]
假設空白舞台上有個MovieClip叫做show_me
[object Stage]>[object MainTimeline]>show_me [object MovieClip]
———————————–
如何切換其路徑?
假設要切換到[object MainTimeline]
可以這樣測試
trace(stage.numChildren);
trace(stage.getChildAt(0));
Output視窗就會顯示1[object MainTimeline]
意指stage下只有一個子物件,而該第0號物件為MainTimeline (主時間軸)
相關指令:
numChildren():int 是該物件底下有多少子物件
getChildAt(index:int) 抓取第n個子物件
getChildByName(name:String) 抓指定名稱的子物件
———————————–
剛剛有提到
例如載A.swf載入B.swf的時候,MainTimeline會有多個,而stage只有一個
B.swf獨立執行時,有它自己的stage
而被A.swf所載入時,MainTimeline的父物件會被換成loader
如何知道的?
有個指令叫parent抓取其父物件
if (getChildAt(0).parent.parent == this.stage)
{
trace(“並未由外部載入”);
}
else
{
trace(“由外部載入”);
trace(getChildAt(0).parent.parent);
}
這是判斷swf是否從外部載入,可判斷該swf執行時有沒有看到stage
外部載入這行就會顯示該loader物件為誰