as3.0 中root和parent的用法
2023年01月20日
一、首先看一下在單個swf中的用法:
在主舞台上的幀上寫下如下**:
var ***="this is root";
新建乙個mc,給它乙個例項名稱test_mc1,在test_mc1中的幀上寫下如下**:
trace(parent["***"]);
trace(root["***"]);
trace(root["test_mc1"].alpha)
最終的輸出為:
this is root this is root
1 如果在test_mc1中在建立乙個例項名稱為test_mc2的movieclip,如何trace它的alpha呢:
trace(root["test_mc1"].test_mc2.alpha);
最終輸出「1」。
二、如果是兩個swf,他們之間是怎樣操作的呢:
新建兩個flash檔案,命名為a1和a2,
在a1.fla中的幀上寫下如下**:
var ***="this is root";
var myloader=new loader();
myloader.load(new urlrequest("a2.swf"));
addchild(myloader);
在a2.fla中建立乙個動態文字框,例項名稱為txt;
在幀中寫下如下**:
txt.text=parent.root["***"];
分別發布兩個flash檔案,然後執行a1.swf,看到其顯示結果為"this is root";
在發布a2.swf是你會看到:
referenceerror: error #1069: 在 flash.display.stage 上找不到屬性 ***,且沒有預設值。
at a2_fla::maintimeline/a2_fla::frame1()
不用去理它,因為他不是通過a1.swf load到場景,所以找不到***這個引數。
這裡的第乙個parent是a1.swf中的myloader,myloader的再上一級才能找到***這個引數,這裡也可以寫成parent.parent["***"]。
我想通過這兩個例子應該比較清楚如何在as3中使用root和parent了。
AS3 0中的區塊設計
這篇文章主要是講解如何基於as3來製作乙個區塊遊戲,但仍然保持oop的結構。這篇文章的 能夠被諸如flexbuilder,flashdevilop這裡的編譯器解釋,當然flash ide也可以,但是要在主場景上指明main類。該應用程式需要乙個xml檔案儲存地圖資料,它將會被轉換為實際地圖顯示在螢幕...
AS3 0中例項的name屬性和實
借鑑一下 as3.0中例項的name屬性和例項名的區別 馬克卡卡吐溫 movieclip 是動態類 但name是他自己的屬性。不管你是用建立工具還是 在舞台上放置上乙個或多個mc 只要你沒有給他name屬性定義 它的預設name是instance1 instance2.instancen 但你給他n...
操作AS3 0中的timmer 物件
在這裡我只想談一下時間間隔函式的變化,在as2中有兩個時間間隔函式,我們最常用的可能就是setinterval 另外還有是settimeout 但在as3中,多了乙個timer類,也是用來進行間隔時間呼叫函式的。與前兩者不同的是,這個函式有一些屬性和方法,可以控制呼叫過程。具體的講,有四個屬性和三個...