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导出工具里予以检查的话或许能防患于未然。

  • 相关阅读:
    返回一个随机数组中的子数组中的数相加最大的和
    四则运算二之结果
    四则运算二
    UVA 11741 Ignore the Blocks
    UVA 1408 Flight Control
    UVA 10572 Black & White
    CF1138D(545,div2) Camp Schedule
    UVA 1214 Manhattan Wiring
    UVA 11270 Tiling Dominoes
    BZOJ 3261 最大异或和
  • 原文地址:https://www.cnblogs.com/wickedpriest/p/13768162.html
Copyright © 2011-2022 走看看