误报bug,请管理员删除,谢谢

  • Creator 版本:2.3.4

  • 目标平台:谷歌浏览器 还有 自带模拟器

  • 重现方式:
    /**
    *

    • @param node 动画节点

    • @param atlas 帧动画资源

    • @param url 动画地址

    • @param speed 播放速度

    • @param completeBlock //回调
      */
      // 通过纹理图集播放动画
      private playOfAtlas(node: cc.Node, atlas: cc.SpriteAtlas, url: string, speed?: number, completeBlock?: Function) {
      let frames: cc.SpriteFrame[] = atlas.getSpriteFrames();
      let clip: cc.AnimationClip = cc.AnimationClip.createWithSpriteFrames(frames, frames.length);
      clip.name = url;
      clip.wrapMode = cc.WrapMode.Normal;
      let sprite = node.getComponent(cc.Sprite);
      sprite.spriteFrame = frames[0];
      sprite.sizeMode = cc.Sprite.SizeMode.RAW;
      sprite.trim = false;
      let ani = node.getComponent(cc.Animation);
      let index = ani.getClips().indexOf(clip);
      if (index == -1) {
      ani.addClip(clip);
      }
      let state: cc.AnimationState = ani.play(clip.name);

      if (speed) {
      state.speed = speed;
      } else {
      state.speed = 1;
      }
      //!!!以上都是正常的播放帧动画的常规操作,问题出现在下面!!!
      //我本想在一开始播放动画就返回我需要的数据(动画总时间),但是只要在动画结束前回调函数,动画就播放出bug,动画没了.或者一闪就没了

      //不适用触发器直接返回,不行
      // if (completeBlock) {
      // completeBlock(state.duration / state.speed);
      // }

      //触发开始播放,返回,还是不行
      ani.once(cc.Animation.EventType.PLAY, () => {
      if (completeBlock) {
      completeBlock(state.duration / state.speed);
      }
      })
      //唯一可行是cc.Animation.EventType.FINISHED没问题,但不能实现我的需求了

    }

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

补充一点:
没有任何错误,只是动画感觉被吃了一样

不好意思!
误报!
误报!!!
误报!!!