2.3.0这个cc.Action提示好烦

目前 Action 还是可以用的,刷屏问题我们下个版本优化下。

现在引擎是推荐使用cc.tween?打算逐渐用cc.tween替代cc.Action了?

是的~

2.3.0刚升级,就发现两个bug,只能退回2.2.0就正常,不知道这个刚版本升级 了什么东西,为什么改变这么大,难道2.2.0以后的版本都不能升级了吗

提交了个pr,你可以参考下:
https://github.com/cocos-creator/engine/pull/6176

还有一个提示,一直都会出来的,也是无解:

getComponent: Type must be non-nil

  • 引擎版本:2.2.2
  • 平台:Windows/Mac都有
  • 触发条件:打开perfab

这个报错是因为模块被剔除了吧,检查一下调用到 getComponent 时传入的类型是否加载成功

请问这上面这个问题该怎么改?

哪个问题?

@zzf_Cocos @jare
能不能把removeSelf优化一下 或者 新增一个destorySelf【和removeSelf一样 但是会在内部调用destory】
因为2.2以后必须手动调用destory,但是通常调用removeSelf的节点,几乎能99.9%确定后续不再需要用,现在必须在removeSelf后加一个回调,在回调里destory() 非常不科学且麻烦,大一点的项目,每个程序员都有概率忘记这个事情,无疑对内存是个恐怖的考验,我们新项目,第一个版本就经常内存不足。

removeSelf() 之后,要 destroy 的话确实挺麻烦的。如果直接加一个回调 destroy 可以吗?因为 destroy 就有 remove 的效果了

是可以的,对于项目来说,很多解决的办法

但是从引擎合理性角度去看待,这种强迫写法,基本导致revmoeSelf这种比较爽快的连续调用方式被破坏。
很多时候大量的动画表现,并不需要后续的回调写逻辑。需要的时候也会给人困惑:你必须先加一个destory

我建议是在 removeSlef里做这个 destory
当然,为了兼容性,也可以新增一个参数 或者 基于现有的 参数 isNeedCleanUp

现在已经有一个参数了,再加或者改变行为都不妥,加一个 destroySelf 吧

可!!!

目前cc.tween的感受还是蛮好的,准备全面升级,不足之处在于异常打断的情况

cc.action可以设置一个tag,单独停止这个tag的action

而现在cc.tween 必须hold住tween实例,在需要的时候stop,并且如果tween已经停止,stop还会报日志,给调试带来极大不便,我们现在手动清除也是有点小蛋疼

1赞

tween现在无法中途取消。。。
比如射击游戏控制飞机移动,先让他Tween到A点,但是移动过程中如果马上希望取消上一个指令Tween到B点,唯一的办法是stop上一个tween,新建一个tween来完成目的,但这样一来被暂停的tween会越来越多……
这导致现在的cc.tween根本是个一锤子买卖,可用性很差

2赞

console.warn = function(){}
cc.warn = fucntion(){}

1赞

习惯就好,从cocosstudio时代他们就没事改api玩!

提示太烦人,刚去掉了所有的warning。引擎层强制warning,看着就闹心。