[問題] 由主程式呼叫元件的變數

看板Flash作者 (快樂崇拜)時間15年前 (2010/08/29 19:02), 編輯推噓4(4014)
留言18則, 3人參與, 最新討論串1/1
如果stage上有變數a1~a100,可以用this+for迴圈達到統一呼叫的效果 如:for(var i=0;i<=100;i++){ this["a"+i].visible=true; } 如果今天stage上有一個物件man,該元件裡設有屬性變數dress1~dress100 我試過依樣畫葫蘆: for(var i=0;i<=100;i++){ man.this["dress"+i].visible=true; } (果然失敗了XD) 請問我想從主程式,統一呼叫特定物件的屬性,可以怎麼作? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.179.209

08/29 19:37, , 1F
把這堆變數編成一個array?
08/29 19:37, 1F

08/29 19:40, , 2F
不對...應該是要把i值改成字串
08/29 19:40, 2F

08/29 19:41, , 3F
我猜用toString(i)應該可以解決?
08/29 19:41, 3F

08/29 19:42, , 4F
或是寫一個可以return String的function來取代i的位置..?
08/29 19:42, 4F

08/29 20:36, , 5F
把這堆變數編成一個array似乎是一個方法! 可以解決一部分
08/29 20:36, 5F

08/29 20:36, , 6F
問題,謝謝樓上大大
08/29 20:36, 6F

08/29 20:37, , 7F
不過還是有一些問題無法完全用編成array的方法解決
08/29 20:37, 7F

08/29 20:37, , 8F
http://0rz.tw/QntmX 我這樣跑起來存取屬性沒問題
08/29 20:37, 8F

08/29 20:38, , 9F
大大提到將i變成字串,但問題不是出在於man.this[]這個寫
08/29 20:38, 9F

08/29 20:38, , 10F
法有問題嗎?
08/29 20:38, 10F

08/29 20:40, , 11F
對耶,那假如把寫法改正的話還需要toString嗎?
08/29 20:40, 11F

08/29 20:40, , 12F
結果仍然可以= =...根本就不是字串的問題XDDD
08/29 20:40, 12F

08/29 20:45, , 13F
參考了大大的程式碼,所以我只要改成man["dress"+i]就
08/29 20:45, 13F

08/29 20:46, , 14F
對了是吧? 非常感謝大大!
08/29 20:46, 14F

08/29 20:49, , 15F
稍微改了一下,存取不同的物件裡的屬性也沒有問題
08/29 20:49, 15F

08/29 20:50, , 16F
應該只是man.this的語法錯誤而已
08/29 20:50, 16F

08/29 21:00, , 17F
thank you very much~
08/29 21:00, 17F

08/29 21:19, , 18F
把this拿掉,改成man["dress"+i].visible = true
08/29 21:19, 18F
文章代碼(AID): #1CUZuqcu (Flash)