[問題] 如何動態宣告實體

看板Flash作者 (周星星)時間16年前 (2008/07/08 22:00), 編輯推噓5(5013)
留言18則, 4人參與, 最新討論串1/1
如果我的一些 Class, 名為 Class1, Class2, Class3, Class4 .... 我能否把 var myMovie:MovieClip; myMovie = new Class1(); 當中的 Class1 變成是一個變數?然後依據某一個參數來決定要宣告哪一個? 不然就要寫落落長的 switch 了 .... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.80.129.15

07/08 23:07, , 1F
先想想為什麼有這麼多class... 必要嗎?
07/08 23:07, 1F

07/08 23:25, , 2F
繼承?
07/08 23:25, 2F

07/08 23:27, , 3F
我也不知道你要幹麻 你假如說明這些class的關係
07/08 23:27, 3F

07/08 23:27, , 4F
應該就會有答案了
07/08 23:27, 4F

07/09 02:14, , 5F
都是不同的 movieClip,角色不同
07/09 02:14, 5F

07/09 02:15, , 6F
玩家可以選自己喜歡的角色進行遊戲
07/09 02:15, 6F

07/09 02:21, , 7F
選擇角色的參數是從外面傳入的
07/09 02:21, 7F

07/09 02:22, , 8F
有個叫做Class的class
07/09 02:22, 8F

07/09 02:22, , 9F
var MyClass:Class = Class1;
07/09 02:22, 9F

07/09 02:22, , 10F
然後 new MyClass() 跟 new Class1() 就是同個意思了
07/09 02:22, 10F

07/09 02:26, , 11F
附註,AS3才可以這樣用
07/09 02:26, 11F

07/09 02:58, , 12F
我想要做的是像 eval('myMovie = new Class'+ a_var+'()')
07/09 02:58, 12F

07/09 02:58, , 13F
這樣的事,可是 AS3 沒有 eval
07/09 02:58, 13F

07/09 03:41, , 14F
不管AS2或AS3都不能這樣對class做處理吧
07/09 03:41, 14F

07/09 13:17, , 15F
也許你可以把你的問題換成在 function 或 array 處理
07/09 13:17, 15F

07/09 18:34, , 16F
謝謝大家的回應,其實用 switch 就可以達到,只是我對
07/09 18:34, 16F

07/09 18:35, , 17F
OO 跟 AS 不熟,想問有沒有能把函式名稱或類別名稱以變數
07/09 18:35, 17F

07/09 18:35, , 18F
來表示,這樣的用法
07/09 18:35, 18F
文章代碼(AID): #18StBZbV (Flash)