最近使用 creator 遇到的一些问题,请高手指点

¥)脚本中有错误时,ccc 会自动将其从节点下移除(给各属性设置的值全部没了)
这个问题比较严重,一旦出现,很多挂载脚本的操作就全部被清掉了,不仅要重新挂载脚本,还得重新设置属性

¥)Prefab 调用 setOpacity 报错的问题
代码顺序的问题,必须先添加到父节点,然后才能调用 setOpacity;如果先 setOpacity 再添加到父节点的话,就会报错,报错信息是 setColor 什么的,八竿子打不着。
一、错误写法:
var spBot = cc.instantiate(this.botPrefab);
spBot.setOpacity(0);
parent.addChild(spBot);
二、正确写法(setOpacity 必须在 addChild 后调用才行):
var spBot = cc.instantiate(this.botPrefab);
parent.addChild(spBot);
spBot.setOpacity(0);

¥)Prefab 中不能做复合操作
之前做摇杆时,把摇杆精灵直接放在摇杆底精灵上,导致出现了 2 个摇杆精灵,一个活动的,一个静止的!

¥)【不一致】相同代码,浏览器和原生(iphone6)表现出的效果不一致
具体来说,涉及到一个判断:在脚本中启用触摸,在 touchBegan 事件中备份 touch 的引用,self.touch = touch,然后在 touchMoved 中进行比较,if (touch === self.touch),浏览器中判断为 true,原生中判断为 false,原因未知

¥)设置 widget 铺满全屏,去获取其 size 和 scale 时,依然是原始的数据

¥)【不一致】实现一个淡出后移除自身的功能,原生不能正常运作
报错信息:
JS: /private/var/mobile/Containers/Bundle/Application/686A8C63-CC7B-4909-ADC2-7475C2374511/XpsEx-mobile.app/src/project.js:1:TypeError: t.destroy is not a function
代码如下:
rmvCall: function(spBot) {spBot.destroy();},
rmvSpBot: function() {
var spBot = this.spBot;
var fadeTo = cc.fadeTo(0.35, 128);
var callback = cc.callFunc(this.rmvCall, this, spBot);
var sequence = cc.sequence(fadeTo, callback);
this.spBot.runAction(sequence);
// 断开引用 & 重置成员
this.spBot = null; // 即使将这行代码注释掉,原生下面依然报错
this.ptOfs = cc.p(0, 0);
},

1.0版里解决了自动移除脚本的问题

其他问题我们会尽量提供更好的报错信息

恩恩,我在使用 1.0 时已经发现了,很好很强大!^ ^