看板 Flash 關於我們 聯絡資訊
如果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
dsmwang:把這堆變數編成一個array? 08/29 19:37
dsmwang:不對...應該是要把i值改成字串 08/29 19:40
dsmwang:我猜用toString(i)應該可以解決? 08/29 19:41
dsmwang:或是寫一個可以return String的function來取代i的位置..? 08/29 19:42
justaID:把這堆變數編成一個array似乎是一個方法! 可以解決一部分 08/29 20:36
justaID:問題,謝謝樓上大大 08/29 20:36
justaID:不過還是有一些問題無法完全用編成array的方法解決 08/29 20:37
dsmwang:http://0rz.tw/QntmX 我這樣跑起來存取屬性沒問題 08/29 20:37
justaID:大大提到將i變成字串,但問題不是出在於man.this[]這個寫 08/29 20:38
justaID:法有問題嗎? 08/29 20:38
dsmwang:對耶,那假如把寫法改正的話還需要toString嗎? 08/29 20:40
dsmwang:結果仍然可以= =...根本就不是字串的問題XDDD 08/29 20:40
justaID:參考了大大的程式碼,所以我只要改成man["dress"+i]就 08/29 20:45
justaID:對了是吧? 非常感謝大大! 08/29 20:46
dsmwang:稍微改了一下,存取不同的物件裡的屬性也沒有問題 08/29 20:49
dsmwang:應該只是man.this的語法錯誤而已 08/29 20:50
justaID:thank you very much~ 08/29 21:00
aquarianboy:把this拿掉,改成man["dress"+i].visible = true 08/29 21:19