cc.tween使用repeatForever的问题

  • Creator 版本: 2.4.6

今天升级了一下creator的版本,然后repeatForever就不能用了,一直打印:[Action update]. override me。

*这样就会报错
  cc.tween(this.icon)
        .to(0.5,{position:cc.v3(-100, -100)})
        .to(0.5,{position:cc.v3(100, 100)})
        .repeatForever()
        .start();
  这样就正常
    cc.tween(this.icon)
        .then(
            cc.tween()
            .to(0.5,{position:cc.v3(-100, -100)})
            .to(0.5,{position:cc.v3(100, 100)}))
        .repeatForever()
        .start()*

看官网文档也没有这方面的说明,官方例子太简单了。
https://docs.cocos.com/creator/manual/zh/scripting/tween.html?h=%20cc.tween()

有没有什么详细的例子说明一下,还可以怎样写?

cc.tween(this.icon)
.to(0.5,{position:cc.v3(-100, -100)})
.to(0.5,{position:cc.v3(100, 100)})
.repeatForever()
.start();
这里面的repeatForever只会执行第二个to哦

cc.tween(this.icon)

        .to(0.5, { position: cc.v3(-100, -100) })

        .to(0.5, { position: cc.v3(100, 100) })

        .union()

        .repeatForever()

        .start();
1赞

多谢,官方文档实在是过于简单了 :rofl:

问题是它第二个也没执行啊

执行一次,第二次你还能看出变化?

第二个执行了 只是每次执行都是移动到(100, 100),所以你看起来就是没有执行,因为没有表象

然而并没有,我又试验了一下,原来在0,0点,运行后瞬间跑到-100,-100点,然后就停那了,第二个动画没有走,我延时3秒调用的,动画时间我改成了5秒。它哪怕正常的跑一遍,我都不至于发现这个问题。原来是

this.tween.repeatForever(this.tween).start()

结果升级引擎后,动画直接没了,我才发现的

确实是这样,不过如果你是想无限循环的话,union是把之前的所有动作合并成一个动作的方法

嗯,还有就是作为repeatForever的参数也是可以的,这个倒是跟之前一样

cc.tween(this.icon)
.repeatForever(
cc.tween()
.to(0.5,{position:cc.v3(-100, -100)})
.to(0.5,{position:cc.v3(100, 100)}))
.start()

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。