cocos2d-x 3.2用代码创建UI动画,暂时最好不要用Cocos Studio 1.6导出的UI动画

cocos2d-x 3.2用代码创建UI动画,暂时最好不要用Cocos Studio 1.6导出的UI动画,第1张

概述如果UI动画比较简单那还是写代码比较好,如果是复杂的动画也可以先在编辑器里做好效果,然后在代码里再重写一次。Cocos Studio目前输出的ExportJson文件对于动画部分的支持有不少欠考虑的地方,指不定什么时候就掉坑里了,所以暂时最好先不用。 比如,如果一个Image控件在一个相对定位的Panel里,程序运行后这个Panel的大小被改变了,那么这个Image控件的UI动画就会错位,因为导出

如果UI动画比较简单那还是写代码比较好,如果是复杂的动画也可以先在编辑器里做好效果,然后在代码里再重写一次。Cocos Studio目前输出的ExportJson文件对于动画部分的支持有不少欠考虑的地方,指不定什么时候就掉坑里了,所以暂时最好先不用。

比如,如果一个Image控件在一个相对定位的Panel里,程序运行后这个Panel的大小被改变了,那么这个Image控件的UI动画就会错位,因为导出的ExportJson文件里的positionx/positiony等值都是根据画布设计时的Panel原大小计算出来的。按照道理,positionx/positiony这样的值就不应该被应用在相对定位的控件上,但是目前还没有狠好的解决办法。

另外一个坑在这里:cocos2d-x 3.2的ActionManagerEx存在BUG,重复播放UI动画会崩溃

所以,干脆还是手动创建动画代码是最保险的,而且也简单,之前没这么干是不太会写动画代码,但写了一段之后发现其实挺简单的:

local image          = ccui.Helper:seekWidgetByname(uiNode,"Image_1")local fadeOutAction  = cc.FadeOut:create(1)local delayAction    = cc.DelayTime:create(1)local fadeInAction   = cc.FadeIn:create(1)local sequenceAction = cc.Sequence:create({fadeOutAction,delayAction,fadeInAction,delayAction})local repeatAction   = cc.RepeatForever:create(sequenceAction)image:runAction(repeatAction)
总结

以上是内存溢出为你收集整理的cocos2d-x 3.2用代码创建UI动画,暂时最好不要用Cocos Studio 1.6导出的UI动画全部内容,希望文章能够帮你解决cocos2d-x 3.2用代码创建UI动画,暂时最好不要用Cocos Studio 1.6导出的UI动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1028726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存