我可能會錯過一些東西。我認爲這將是一個常見問題,但幾天來在網上進行的廣泛搜索沒有找到我需要的答案。我希望製作一個獨立的影片剪輯,無論它放在哪裏都可以起作用。但是,從擴展影片剪輯的類中訪問影片剪輯中定義的實例似乎很困難。Flash Actionscript AS2 - 在類中的時間軸上定義的訪問實例變量
雖然我在Flash ActionScript 2(AS2)我編碼,我不知道是否存在AS3同樣的問題。
在下列情況下,你如何訪問實例「圈」?
在主時間軸上的影片剪輯有一個實例名稱「廣場」。 Square.as中定義的類Square擴展了該影片剪輯。在影片剪輯中,另一個影片剪輯放置在第一幀上,實例名稱爲「circle」。在第一幀var myName:String = "my name"
上也聲明瞭varialbe。下面的代碼無法編譯:
class Square extends MovieClip {
function Square() {
trace("Square.constructor, circle: " + circle);
trace(" --- myName: " + myName);
}
}
編譯器錯誤:There is no property with name 'circle'.
(同爲MYNAME)。
在參考不利於增加this.
。顯然,編譯器正在尋找類定義中的變量。
使用_level0.square.circle
作品,但需要該類知道自己的實例路徑。雖然_level0.square.myName
不會產生編譯器錯誤,但它的值爲undefined
。
引用除構造函數等方法,這些變量會導致相同的編譯器錯誤。
非常感謝您的幫助。
嗨user1789547,也許如果實例駐留在舞臺上,您必須將階段引用傳遞到類中?我知道你的問題是關於AS2,但這可能是一些幫助:http://www.actionscript.org/forums/showthread.php3?t=250599 – Mike
謝謝,邁克。我在我的搜索過程中看到了類似的討論。但是他們試圖引用類之外的某些東西,而我試圖引用內部的東西,父級影片剪輯中的子級影片剪輯,該類正在擴展。從邏輯上講,至少我認爲,擴展類可以訪問父級影片剪輯可以訪問的所有內容。 -Keith – Braeburn