动画事件是什么?
在动画播放到某个时间点,触发一个事件,执行某个动作。
添加动画事件的方法:
1.在动画窗口里面给要添加动画事件的地方打动画事件关键帧
2.写动画事件脚本
3.给动画事件关键帧的function添加该事件
下面举一个实例来说明动画事件的使用。
想实现的功能:
摄像机已有自动前进的动画,我希望在动画播放结束时,显示并激活一个里克特量表以供用户填写。
这个时候就可以给摄像机添加一个动画事件,在动画的最后一帧触发显示里克特量表的事件。
具体操作步骤如下:
1.选中摄像机,打开animation窗口(Window—animation),定位想要添加动画事件的地方,点击“add event”
这样就给2130帧处添加了动画事件。
2.创建一个脚本,写一个事件。事件的参数可以是float,int,string,int,object或animation event对象。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class liketShow : MonoBehaviour
{
public Image image;
public void ActiveLiket(float s)
{
image.GetComponent<CanvasGroup>().interactable = true;
image.GetComponent<CanvasGroup>().alpha = 1;
Debug.Log("动画播放完了");
Debug.Log("PrintEvent: " + s + " called at: " + Time.time);
}
}
3.将script脚本添加到摄像机,然后再次打开animation窗口,选中刚刚设置的动画事件,在右边的inspector窗口中设置function为我们刚刚写的事件。
4.运行程序,查看效果