UnityAPI手册-2019.4官网版
文集大纲加载中……
本文档使用 MrDoc 发布
-
+
首页
AnimationEvent
# AnimationEvent class in UnityEngine ## 描述 作为播放动画的一部分,AnimationEvent 可用于调用类似于 SendMessage 的脚本函数。 动画事件支持零个或一个参数的函数。 该参数可以是浮点、int、字符串、对象引用或 AnimationEvent。 ``` // Animation Event example // Small example that can be called on each specified frame. // The code is executed once per animation loop. using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public void PrintEvent() { Debug.Log("PrintEvent"); } } ``` 下面是一个更详细的示例,演示了 创建动画的更复杂方式。在该脚本示例中,通过访问 `Animator` 组件从中获得了一个 `Clip`。(该剪辑是在 Animation 窗口中设置的。)该剪辑持续 2 秒钟。然后创建了一个 `AnimationEvent`,并且设置了参数。参数中包括 将处理此事件的函数 `PrintEvent()`。然后此事件 被添加到该剪辑。这一切都发生在 `Start()` 中。启动了该游戏后, 在 1.3 秒后调用此事件,然后每 2 秒钟重复此事件。 ``` // Add an Animation Event to a GameObject that has an Animator using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public void Start() { // existing components on the GameObject AnimationClip clip; Animator anim; // new event created AnimationEvent evt; evt = new AnimationEvent(); // put some parameters on the AnimationEvent // - call the function called PrintEvent() // - the animation on this object lasts 2 seconds // and the new animation created here is // set up to happen 1.3s into the animation evt.intParameter = 12345; evt.time = 1.3f; evt.functionName = "PrintEvent"; // get the animation clip and add the AnimationEvent anim = GetComponent<Animator>(); clip = anim.runtimeAnimatorController.animationClips[0]; clip.AddEvent(evt); } // the function to be called as an event public void PrintEvent(int i) { print("PrintEvent: " + i + " called at: " + Time.time); } } ``` ## 变量 | [animationState](AnimationEvent-animationState.html) | 触发了此事件的动画状态(只读)。 | | ----------------------------------------------------------------------- | ------------------------------------------------- | | [animatorClipInfo](AnimationEvent-animatorClipInfo.html) | 与此事件相关的动画器剪辑信息(只读)。 | | [animatorStateInfo](AnimationEvent-animatorStateInfo.html) | 与此事件相关的动画器状态信息(只读)。 | | [floatParameter](AnimationEvent-floatParameter.html) | 浮点参数,保存在事件中并将发送到函数。 | | [functionName](AnimationEvent-functionName.html) | 将调用的函数的名称。 | | [intParameter](AnimationEvent-intParameter.html) | Int 参数,保存在事件中并将发送函数。 | | [isFiredByAnimator](AnimationEvent-isFiredByAnimator.html) | 如果动画器组件已触发了该动画事件,则返回 true。 | | [isFiredByLegacy](AnimationEvent-isFiredByLegacy.html) | 如果动画组件已触发了该动画事件,则返回 true。 | | [messageOptions](AnimationEvent-messageOptions.html) | 函数调用选项。 | | [objectReferenceParameter](AnimationEvent-objectReferenceParameter.html) | 对象引用参数,保存在事件中并将发送到函数。 | | [stringParameter](AnimationEvent-stringParameter.html) | 字符串参数,保存在事件中并将发送到函数。 | | [time](AnimationEvent-time.html) | 将触发该事件的时间。 | ## 构造函数 | [AnimationEvent](AnimationEvent-ctor.html) | 创建新动画事件。 | | ----------------------------------------- | ------------------ |
da
2022年5月23日 22:45
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码