作者madturtle (旅者‧愚人‧梦想家 )
看板GameDesign
标题[程式] unity array怪事
时间Thu Feb 16 19:33:04 2012
var effects: Effect[]
effects=new Effect[100];
print(effect[0]);
执行结果,输出Null。正常
游戏过程effects的内容有经过修改(也许这过程是关键,但後面更怪)
再次执行(单纯中止後再次执行),
第三行print变成是Effect,导致很多判断失灵。
最奇怪的是,重新启动unity,print又变回Null了
也就是原本有不明bug,会使两次执行时,相同程式的输出不一样。
重开就暂时解决。
没有po全部的原始码,因为整个过程有点复杂,
不知道能不能先针对此状况给点意见?
不行的话我再po完整一点
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.8.181
1F:推 chchwy:听起来有点玄 不知道有没有其他code? 02/17 12:37
2F:→ chchwy:简单的解法就是全部手动初始为null 02/17 12:38
3F:推 cowbaying:编译器的BUG吧 有试过转成执行档试试看吗? 02/17 14:52
发现问题了,一般状态执行都正常,
但只要Inspector视窗出现那段code所在的component,
原本print是null的阵列马上变成Effect。
等於是我甚麽都没做,仅仅点一下editor上的物件,
视窗上一出现那个component就出问题了。
现在看似解决了,因为我宣告时加了private。
只要Inspector视窗看不到那个阵列,似乎就没问题......
(当初就是为了方便用inspector监看才先没用private,没想到这就是问题@@)
※ 编辑: madturtle 来自: 59.124.8.181 (02/17 17:07)
4F:推 Ebergies:Inspector 本来就会帮你初始化 02/21 17:45