我使用相同的名稱創建了MovieClip「導出爲ActionScript」。當我通過拖拽到舞臺上創建對象時沒問題,但是在使用var smth:* = new myClass()
時會發生錯誤。有一個錯誤,因爲我在導出的MovieClip中有一些代碼,它涉及舞臺。發生這種情況,以至於在運行代碼的時刻沒有實例化階段?我的意思是,我在第二幀創建對象,所以它似乎有點不可能。當(在MovieClip中)我寫trace(stage);
輸出是null
。正如我所說,以可視方式創建對象時沒有問題。女士們,先生們,什麼??!無法通過動作創建對象
0
A
回答
1
如果我遵循您所說的話,那麼您的MovieClip
子類中就沒有對stage
的提示嗎?如果MovieClip
未連接到舞臺或已連接到舞臺的其他DisplayObjectContainer
(在顯示列表鏈的某處),則會發生此情況。以驗證階段是可用的,當它可用來執行代碼
的一種方式,通常是在的FlashDevelop項目中發現了一個小的代碼片段:
public function Main():void {
stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
因此,如果stage
被發現,它立刻觸發init()
方法(不帶參數),否則它會等待它被添加到舞臺(或其他已連接的DisplayObjectContainer)時,它將在init(e:Event)
作爲回調方法時通過Event
參數。
1
import flash.events.Event;
在該類的構造函數中,爲要添加的舞臺添加一個eventListener。
this.addEventListener(Event.ADDED_TO_STAGE, myFunction);
然後只需創建一個名稱爲init,事件爲參數的eventListener。
function myFunction(e : Event) : void
{
this.removeEventListener(Event.ADDED_TO_STAGE, myFunction);
// execute code here
}
removeEventListener是必需的,不要忘記將其刪除! Flash中的錯誤會觸發該事件添加到舞臺兩次,因此如果您不想執行兩次代碼,則必須將其刪除。
相關問題
- 1. 無法創建自動化對象 - lotusscript
- 2. 無法通過Silverlight.js的創建Silverlight的對象
- 3. 無法創建「Class」對象
- 4. ModelManagerException:無法創建對象
- 5. 無法創建對象:ADODB.Stream
- 6. 無法創建對象
- 7. 無法創建JexlEngine對象
- 8. 無法創建CLLocation對象
- 9. QTP:ActiveX無法創建對象
- 10. 無法創建AudioData對象?
- 11. (Java)爲通過反射創建的新對象創建方法?
- 12. 通過Rails中另一個對象的顯示動作創建一個對象
- 13. 無法通過創建動作將行插入表中
- 14. python通過引用對象名稱通過變量創建對象,從列表中創建對象
- 15. Rails在哪裏創建:通過對象
- 16. 通過接口創建假對象
- 17. 通過循環創建對象
- 18. 通過循環創建多個對象
- 19. 通過對比另外兩個JSON創建JSON對象對象
- 20. 無法通過雲構建通過自動縮放來創建AWS EMR
- 21. 無法通過TestComplete對象映射
- 22. 無法添加對象通過的JTextField()
- 23. 無法創建並通過郵件
- 24. 無法通過PHP創建ZIP
- 25. 無法通過swift創建PDF與UIView?
- 26. 無法通過dojo.NodeList.instantiate創建dijits
- 27. 無法創建通過嚮導
- 28. 無法在Java中創建Math對象?
- 29. C#Interop - 無法創建對象
- 30. Swift - 無法從NSData創建JSON對象
對不起,我編輯的代碼更清晰。 – JNDPNT
哦,謝謝。有用。然而,無論何時我寫'MovieClip(this.root)',都會有一個錯誤,說AS不能將'Stage'轉換爲'MovieClip'。這是爲什麼? – nicks
請在單獨的問題中提問,這樣其他用戶可以使用搜索:-)更快地找到解決方案。 – JNDPNT