AS3 0 中root和parent的用法

2021-08-26 15:33:01 字數 1184 閱讀 9453

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類,也是用來進行間隔時間呼叫函式的。與前兩者不同的是,這個函式有一些屬性和方法,可以控制呼叫過程。具體的講,有四個屬性和三個...