c# - Unity3d 动画事件未持续触发

标签 c# unity3d

我有一个在中间关键帧有一个事件的动画。

动画将游戏对象在屏幕上的 x 和 y 方向上以半圆形移动。

当事件触发时,我调用 animation.Stop()。

这会停止屏幕中央的游戏对象,等待我滑动并继续动画或向相反方向滑动并让它向后移动。为此,我将动画速度设置为 -1。

我的问题是物体每次都不会停在完全相同的位置,尤其是在反面,它总是有点偏离。

经过大量搜索后,我尝试将 wrapMode 设置为永远固定,我确保事件在关键帧上被正确调用,并且我尝试使它开始的时间,当它在中间时,是一个常数.

最佳答案

我认为最好使用独立于时间的动画系统而不是 Unity 的遗留动画。传统动画在很大程度上依赖于帧,并且它在不同设备上的表现不尽相同(因为帧速率不同),即使在同一设备上,它也可能因设备当前的性能而有所不同。尝试像 iTween 这样的东西或做动画或HoTween处理动画。

关于c# - Unity3d 动画事件未持续触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753780/

相关文章:

c# - 这个 LINQ 性能从何而来?

全息镜头中的 C++ dll

c# - FileStreamResult 返回具有特定名称的文件时出现问题

c# - Redis serviceStack池化连接客户端

c# - unity : 3D movement/Collision detection failure (AddForce, MovePosition, transform.localPosition)

windows - 使用 Github 从 Windows 到 macOS 共享 Unity 项目的问题

c# - 如何使用 bool 值在 Unity 检查器中启用/禁用列表?

user-interface - 某些 Windows 8 和 8.1 上的 Unity3d 4.6 UI 图像错误

c# - 数组中更改的项目是否进入垃圾收集?

c# - 如何重现不常见的 404?