作者justaID (快樂崇拜)
看板Flash
標題[問題] 由主程式呼叫元件的變數
時間Sun Aug 29 19:02:09 2010
如果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
1F:推 dsmwang:把這堆變數編成一個array? 08/29 19:37
2F:推 dsmwang:不對...應該是要把i值改成字串 08/29 19:40
3F:→ dsmwang:我猜用toString(i)應該可以解決? 08/29 19:41
4F:→ dsmwang:或是寫一個可以return String的function來取代i的位置..? 08/29 19:42
5F:→ justaID:把這堆變數編成一個array似乎是一個方法! 可以解決一部分 08/29 20:36
6F:→ justaID:問題,謝謝樓上大大 08/29 20:36
7F:→ justaID:不過還是有一些問題無法完全用編成array的方法解決 08/29 20:37
9F:→ justaID:大大提到將i變成字串,但問題不是出在於man.this[]這個寫 08/29 20:38
10F:→ justaID:法有問題嗎? 08/29 20:38
11F:推 dsmwang:對耶,那假如把寫法改正的話還需要toString嗎? 08/29 20:40
12F:→ dsmwang:結果仍然可以= =...根本就不是字串的問題XDDD 08/29 20:40
13F:→ justaID:參考了大大的程式碼,所以我只要改成man["dress"+i]就 08/29 20:45
14F:→ justaID:對了是吧? 非常感謝大大! 08/29 20:46
15F:→ dsmwang:稍微改了一下,存取不同的物件裡的屬性也沒有問題 08/29 20:49
16F:→ dsmwang:應該只是man.this的語法錯誤而已 08/29 20:50
17F:→ justaID:thank you very much~ 08/29 21:00
18F:→ aquarianboy:把this拿掉,改成man["dress"+i].visible = true 08/29 21:19