回答
這會做你的要求:
// on Flash's main timeline
for(var i:int = 0; i < 40; i++){
this["sprite" + i] = new Sprite();
}
你想最終對sprite0
,sprite1
,sprite2
... sprite39
主時間軸性能。 (請注意,此代碼示例實際上並未添加小精靈,並且它不會爲其分配name
,因此getChildByName("sprite0")
將不起作用)。
但是,我應該對此進行一些說明。
首先,像這樣分配新屬性只適用於「動態」對象實例。 MovieClip
是動態的,這就是將代碼放在主時間軸上並使用this
應該有效的原因(因爲主時間軸是MovieClip
,除非您另外指定文檔類)。通用Objects
和Arrays
也是動態的,因爲它們是通用數據容器。但是,AS3中幾乎沒有其他動態的,包括其他顯示對象類和您創建的任何類,unless you explicitly declare it as dynamic
。例如,如果你試圖將財產分配給Sprite
你會得到一個運行時錯誤:
var s:Sprite = new Sprite();
s["hello"] = "goodbye";
拋出:
ReferenceError: Error #1056: Cannot create property hello on flash.display.Sprite.
如果您嘗試訪問「你好」作爲屬性使用點語法,它甚至不會編譯:
var s:Sprite = new Sprite();
s.hello = "goodbye";
失敗並編譯:
1119: Access of possibly undefined property hello through a reference with static type flash.display:Sprite.
類的默認非動態(又名「密封」)行爲應該是一個指標,通常比在運行時爲顯示對象(以及其他隨機東西)分配新屬性更好。 MovieClips
可能只是動態的,以適應由Flash建立的舊模式(這是我的猜測)。
所以你可以做的是使用Array
:
var sprites:Array = [];
for(var i:int = 0; i < 40; i++){
sprites.push(new Sprite());
}
這段代碼會給你一個名爲sprites
數組,它有40個指標,每個引用不同的精靈。 (同樣,這代碼沒有做任何與Sprites
有用。)你可以通過索引像這樣一個精靈的引用:
var sprite:Sprite = sprites[0];
// do whatever you want with 'sprite'
希望有所幫助。
- 1. 在javascript中生成變量名稱
- 2. 在循環中生成變量名稱
- 3. 隨機生成變量名?
- 4. 如何使用宏在C++中生成隨機變量名?
- 5. 如何在as3中動態命名一個對象的變量
- 6. 如何解決變化,生成的文件名稱變量?
- 7. Rcpp如何在Rcpp中生成隨機多變量法向量?
- 8. Jquery Json動態變量名稱生成
- 9. SAS - 正確生成變量文件名
- 10. 如何同時生成兩個變量?
- 11. 如何「生成」唯一變量?
- 12. 如何手動生成虛擬變量?
- 13. 如何從變量生成makefile目標?
- 14. 生成的變量
- 15. 有沒有在Java中動態生成變量的名字?
- 16. AS3 - 如何生成隨機數字?
- 17. AS3 - 訪問變量名爲variableName [編號]
- 18. 如何在Mysql中生成排名?
- 19. 如何生成可變數量的變量?
- 20. 如何生成100個變量的變量?
- 21. 如何在我的控制器中生成動態變量名並將變量傳遞給ng-repeat?
- 22. 在PHP中動態形成變量名?
- 23. 如何在動作腳本2.0中動態生成變量
- 24. 如何在php中使用php變量生成類文件
- 25. 如何避免在javasccript中爲許多變量生成函數?
- 26. 如何在R中生成一個「範圍」變量?
- 27. 如何在生成文件中使用導出的變量?
- 28. 如何在year_month面板數據中生成滯後變量
- 29. 如何在C++中創建NetBeans自動完成變量名稱?
- 30. 如何在python中集成optparse選項和變量名
你當然可以使用[arrays](http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/arrays.html),不是嗎?這是跟蹤許多對象的好方法,因爲它可以讓你在每個元素上進行操作(如果你需要的話),而不必命名所有40個變量(或誰知道很多)。 – Kroltan 2015-02-07 21:35:33
是的,數字實際上是指數組中的行。 – FalconMitts 2015-02-07 21:45:16