【发布时间】:2020-05-13 23:01:54
【问题描述】:
我正在统一使用 2dExtras 中的瓷砖地图和动画瓷砖。
我的瓦片有 6 帧,速度为 2f,而瓦片地图的帧率为 2。
放置的新图块始终从第 1 帧开始,然后立即跳转到已放置的其他图块的当前帧,图块地图使每个图块保持相同的速度,这是我想要的工作。
但是我希望新放置的图块从其他图块当前所在的帧开始(而不是放置从第 1 帧跳到第 4 帧的图块)我希望新图块从第 4 帧开始
我已经找到了如何选择我想要开始的帧,但是我在检索动画当前所在的帧时遇到了问题,所以我想知道如何准确地访问给定瓷砖地图的当前动画帧(或者给定的图块,我可以创建一个虚拟图块并从中读取信息,如何获取动画图块的当前帧?)
动画 tilemaps 功能似乎缺少检索此信息的功能,当我尝试 tilemap.getsprite 时,它总是返回序列的第一帧(不返回当前显示的精灵),而且似乎没有是从 tilemap.animationFrameRate 轮询信息的任何方法。
我认为另一种方法是设置时钟并将其与动画的速率同步,但由于我无法获得确切的帧速率持续时间,因此时钟最终会不同步。
任何帮助将不胜感激!
【问题讨论】:
-
你可以尝试使用 AnimationState.normalizedTime
-
似乎找不到访问磁贴动画状态的方法,我该如何准确地实现呢? tilemap 和 tilebase 似乎都没有 animationstate 属性
标签: unity3d