zoukankan      html  css  js  c++  java
  • 记一个Cocos动画播放无效的bug

    昨天在做AVG弹幕功能的时候遇到了一个神奇的bug:UI给CSD工程加了一个简单的in和out动画,但是在游戏中却无法播放。我试着runAction了一把,游戏居然直接崩溃了。

    我在脚本层面调试了一波,发现它确实完完整整地走完了UI的play_animation函数,连回调函数都调用了。我怀疑可能是引擎的问题,于是给主程汇报了一下,在引擎中进一步进行调试。

    然后就发现了UI工程存在这个问题:

    这个UI工程本身又嵌套了另一个UI工程:

    但是在引擎里,发现播放in动画的UI节点居然不是layer_send节点,而是node_bubble节点!

    经过进一步探查,发现是因为引擎在播放动画时,是根据工程的脚本文件中的ActionTag和Tag来对节点进行识别:

    但是非常巧,子工程节点的ActionTag和Tag与父亲工程root节点的Tag重复了。于是导致了子工程节点执行了in动画!

    我们把子工程的Tag和ActionTag改掉,果然就可以正常播动画了。

    这个bug非常隐蔽,UI自己很难排查。如果能在UI导出工具里予以检查的话或许能防患于未然。

  • 相关阅读:
    Hdu 2389 二分匹配
    Hdu 1156
    Hdu 1255
    Hdu 1542
    python 中初始化二维数组的方法
    chrome扩展小试
    浏览器的重绘与重排
    js执行环境相关
    js 触摸事件
    js柯里化的一个应用
  • 原文地址:https://www.cnblogs.com/wickedpriest/p/13768162.html
Copyright © 2011-2022 走看看