执行一段具有回调的action,真机和模拟器都直接崩溃,web端没有报错。错误信息如下:
具体代码如下:
有没有人看看,在线等
cc.spawn 不能只传一个 action 作为参数
let fadeOut = cc.fadeOut(0.5)
为啥要包一个呢。。。
谢谢回复,没注意到这一点,已解决
引擎设计就有问题
cc.spawn与cc.sequence内部完全可以改为,如果传进来的是一个,就直接返回一个原来的action就行了,为了这个还写个闪退……
这是 API 设计层面的理念不同了
对于已有的项目工程,如果不想大范围修改,可以尝试一下下面这种
cc._$sequence = cc.sequence;
cc.sequence = function ( ) {
if (arguments.length === 1){
return arguments[0];
}
return cc._$sequence(...arguments);
};
cc._$spawn = cc.spawn;
cc.spawn = function ( ) {
if (arguments.length === 1){
return arguments[0];
}
return cc._$spawn(...arguments);
};
这个不错,这个才是API应有的健壮设计,或者叫容错能力。