Spine 控制

在使用Spine中,我先获取动画时长,

let animation: sp.spine.Animation = this._spine.findAnimation("attack");
animation.duration

在debug时候该值为0.58左右,我自己监听update监听记录时间,发现播放完成是需要1.12秒左右,和获取的相差很大,在动作感官上来讲差不多是一秒的动作,所以获取的duration是一个错误的值。

我也想自己控制指定的spine的刷新,这个是可以实现嘛,比如调用tick(delta)

误差不可能这么大!!你监听动作结束的不久完了!!! 除非你游戏特别卡!!!严重jump frame!!

没有卡帧情况一直59.9帧

我自己问题,但是我想自己控制动画的刷新,应该不能实现吧,因为安卓那边是c++驱动

你可以试试 hack 引擎的代码,把引擎默认的 update 函数改为你自己的步进函数。因为 update 回调在引擎的主循环中会自动执行。所以你把它改成其他非生命周期函数即可尝试。我没试过是否能手动刷新 spine ,只是给个思路。

有解决了麻烦回复一下哈

改引擎可能不太好,我这边放弃了自己驱动,表现层和逻辑层分离了,不过也谢谢你的答复

不客气 :grinning:

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