-
Creator 版本: <-- 3.72 -->
-
目标平台: <-- 构建的web-mobile包 在安卓应用里面开了个webView在跑)–>
-
重现方式:
-
首个报错:
我里面的运动是这样写的
private testBRun() {this.unscheduleAllCallbacks() let aNode = GameLogic.findNode("ANode", this.node) let initPos: Vec3 = v3(0, -764) let endPos = v3(0, 740) aNode.setPosition(initPos) let runBack = function () { initPos.y += + 2 aNode.setPosition(initPos) } this.schedule(() => { runBack() }) }
这个方法是每帧执行吗
this.schedule(() => {
runBack()
})
这样写的 后面没有传参数 就是每帧执行
感觉怪怪的 用tween 或者换种跟帧率无关的写法?
position = speed * time(dt);

我这样写过 也是卡顿
会不会是你手机卡,换台手机看下 
其他手机看起来没什么问题 但是这台红米 note 13 有问题,老板让我处理下 
这台红米是120HZ的刷新屏。
我就在想一个问题 有没有可能是 逻辑帧已经走了3-4帧 才渲染了一帧就会出现这种看起来不连贯的问题
你的帧率波动太大,可以采用楼上那位兄弟的办法

用tween 不至于吧,tween很可靠呀,就简单的tween(aNode).to(5, {position: endPos}).start()就可以了吧,是不是之前写复杂了
我里面写的不复杂的 就一个to运动 再就是一个打印
我使用了速度乘以时间的办法,发现里面每一帧的偏差太大了 应该是需要用插值去弄一下


哥哥们 有处理办法吗 上面的方法我都试过了 还是一样的有卡顿情况,上面的演示视频很清楚 有跳帧的问题
上传一个demo 给大家瞧瞧
既然是帧行为 为什么不在cocos的update生命周期里去实现, 计时器太不受控了

我在这里写了 也是没有用的
关键代码 就是我上发的几行移动的代码 没有其他了。
我也不确定,可以试试固定帧时间
大概是这么个意思
