问题描述
所以我在游戏中使用Unity和C#。我希望动画在特定帧上时发生一些事情。如何检测动画在哪个帧上?
解决方法
AnimationState.normalizedTime将以0到1之间的值为您提供动画的进度,您可以通过将其转换为帧速率来对此进行推断。
(function ($) {
$(document).on('click','.checkout-button,.cart-checkout-button,.button.checkout',function (e) {
e.preventDefault();
// do some stuff
$(this).trigger('click');
// e.currentTarget.click(); // doesn't work either
});
})(jQuery);
,
如果您希望在特定帧中发生某些事情,则应在动画上使用事件。
以下是实现此目的的官方文档:
https://docs.unity3d.com/Manual/AnimationEventsOnImportedClips.html
(来自https://docs.unity3d.com/的图片)
然后,您必须设置要调用的函数。每次动画经过此帧时,都会调用该函数。
,您可以通过使用动画事件来实现。
首先,在脚本中创建一个函数以接收事件。假设您的函数称为“ OnAnimationHalfWay”。
然后,转到您的动画并通过选择所需的帧并单击“添加事件”按钮来添加动画事件。
最后,转到检查器,在“函数”属性中,选择函数的名称,就我而言,它是“ OnAnimationHalfWay”。
希望这对您有所帮助!