作者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