![](/img/trans.png)
[英]AS3 Errors: 1046: & 1180: Importing custom class into mc on second frame?
[英]AS3 Importing Class on Another Frame
我正在為我的一個新項目使用外部AS文件,該文件涉及創建繪圖位置,因此我使用了以下教程來了解所需的基本知識。
我希望應用程序能夠正常運行並正常運行,直到我決定要添加預加載和菜單-將應用程序的繪圖部分放在第三幀上-這使我遇到了這個錯誤:
TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。
-在Main / convertToBMD()
-在Main()
因此,我認為不是將Main.as添加到屬性下的Class中,而是將文件導入框架中。 使用方法:
var main:Main = new Main();
addChild(main);
除此之外,它失去了與實例名稱的所有連接。
Line 64 1120: Access of undefined property pencil.
Line 65 1120: Access of undefined property eraser.
Line 65 1120: Access of undefined property txt.
Line 82 1120: Access of undefined property board.
Line 83 1120: Access of undefined property board.
等等.....
所以我想知道,有沒有更好的方法可以做到這一點並使它在任何框架上都能工作?
通過更改外部腳本中的內容還是其他導入框架的方式?
謝謝
以利
問題在於命名實例是MainTimeline
實例的屬性,它通常是該階段的第一個子級。 該屬性不再是Main
類的屬性。
因此,當您想通過Main
訪問這些屬性時,可以執行以下操作:
var timeline:DisplayObject = stage.getChildAt(0);
var pencil:DisplayObject = timeline["pencil"];
// do stuff with 'pencil'
pencil.x = 500;
...
注意:這假設Main
將設置其stage
屬性,一旦通過addChild(main);
將其添加,情況就會如此addChild(main);
。 但這意味着,在Main
的構造函數中,您將無法訪問stage
屬性來執行上述操作。 如果這是一個問題,請考慮讓Main
在使用'pencil'等之前等待ADDED_TO_STAGE
事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.