[bug] tween().delay(负数) 会影响后面的执行

版本: 3.8.4

  • 正常代码:
cc.tween(game.$camera.node)
 // .delay(-1) // 没有delay(-1), 镜头正常向右移动, 时长1秒
 .by(1,{ position: new cc.Vec3(10,0,0) })
 .start()
  • 不正常代码
cc.tween(game.$camera.node)
 .delay(-1) // 加上delay(-1), 镜头一瞬间就向右移动, 时长0秒
 .by(1,{ position: new cc.Vec3(10,0,0) })
 .start()

能不能智能一点, dur <= 0 就跳过这个delay节点啊???

就从物理法则来说, 你怎么delay一个负数???

是不是能够时间倒退? 倒回去前面的Tween的1秒之前???

(要是能, 那我敬佩你严谨概念, 我这就啪啪打脸, 自己滚去判断时间)

不然delay一个负数, 除了产生bug没有任何意义的话, 为什么不把它拦截了???

要不你报个错, 输出个warning也好啊

退一万步讲, 为了不影响后面的节点, delay累加时间之前, 也应该做入参检查啊

那你为什么要传负数

可以喷 但是不能无脑喷

可能是读表, 表写错了, 也有可能时间是算出来的 , 然后楼主debug了不少心力 ,发现时间的问题

那不把策划吊起来打

点了一份炒饭

tween().call(null) 它又咋知道拦截的呢…咋不直接调…? 质问一下开发者为什么要传null…???

可以不回复…但是别无脑回复…

回调做了判断

我这是假设句 :upside_down_face:

image image ,改一下就好了,重新编译一下,底层只判断了你传的是不是数字

改完后你就可以传负数了 :yum:,小游戏记得别勾分离引擎

有没有可能内部abs了呢?