动画事件回调
2016-09-17 09:52
295 查看
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【Unity3D(AR/VR) 334163814】【Unity3D(游戏)
119706192】 本文链接地址:Unity3D 动画回调
plain copy
print?
public class test_AddAnimationEvent : MonoBehaviour
{
Animation anim;
void Start () {
anim = GetComponent<Animation>();
AddEvent(1, "testLog");
}
void AddEvent(float EventTime, string funcname)
{
AnimationEvent auidoEvent = new AnimationEvent();
auidoEvent.time = EventTime;
auidoEvent.functionName = funcname;
anim.clip.AddEvent(auidoEvent);
//注:同一动画能被多次注册回调。
}
int n = 0;
public void testLog()
{
n++;
Debug.Log("n=" + n + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
}
plain copy
print?
public class test_animatorEvent : MonoBehaviour
{
int n = 0;
public void CallNull()
{
n++;
Debug.Log("n=" + n + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
int i = 0;
public void CallInt(int _int)
{
i++;
Debug.Log(_int + " | i=" + i + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
int i_s = 0;
public void CallIntStr(int _int,string _str)
{
i_s++;
Debug.Log(_int + "&" + _str + " | i_s=" + i_s + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
}
4.点击
添加完成后,是这样的,这个还是可以再拖动调整回调时机。
到此,动画回调就注册完了。
运行结果:
运行结果:
119706192】 本文链接地址:Unity3D 动画回调
注册Animation回调
[csharp] viewplain copy
print?
public class test_AddAnimationEvent : MonoBehaviour
{
Animation anim;
void Start () {
anim = GetComponent<Animation>();
AddEvent(1, "testLog");
}
void AddEvent(float EventTime, string funcname)
{
AnimationEvent auidoEvent = new AnimationEvent();
auidoEvent.time = EventTime;
auidoEvent.functionName = funcname;
anim.clip.AddEvent(auidoEvent);
//注:同一动画能被多次注册回调。
}
int n = 0;
public void testLog()
{
n++;
Debug.Log("n=" + n + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
}
注册Animtor回调
1.先创建个脚本,用来执行回调事件。
[csharp] viewplain copy
print?
public class test_animatorEvent : MonoBehaviour
{
int n = 0;
public void CallNull()
{
n++;
Debug.Log("n=" + n + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
int i = 0;
public void CallInt(int _int)
{
i++;
Debug.Log(_int + " | i=" + i + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
int i_s = 0;
public void CallIntStr(int _int,string _str)
{
i_s++;
Debug.Log(_int + "&" + _str + " | i_s=" + i_s + ", time=" + DateTime.Now.Ticks / 1000000.0);
}
}
2.找到要绑定回调的动画,选择其文件。
3.找准添加回调时的时机,准备添加动画回调的方法。
4.点击
添加回调方法。
添加完成后,是这样的,这个还是可以再拖动调整回调时机。
到此,动画回调就注册完了。
5.投入使用,将第一步写好的脚本挂在Animator同级的gameobject上。
运行结果:
6.再来试试带参数的。
运行结果:
相关文章推荐
- 原生CSS动画回调事件
- Unity3D Animator 动态添加事件回调和替换动画
- 原生CSS动画回调事件
- 原生CSS动画回调事件
- 原生CSS动画回调事件
- 2015.7.23 第十二课 课程重点(jq元素:获取、添加、删除、设置、绑定、显示隐藏、回调、动画)
- 黑马程序员_学习日记63_710jQuery2(属性选择器、表单选择器、操作Dom节点、事件、动画)
- [转]System.ArgumentException: 回发或回调参数无效。在配置中使用 < pages enableEventValidation="true"/> 或在页面中使用 <% @ Page EnableEventValidation="true" %> 启用了事件验证
- 动画后点击事件
- 在适配器Adapter中回调他的点击事件到activity或者fragment当中
- Silverlight:使用Storyboard控制动画--控制动画事件交互
- Guava 源码分析(Cache 原理 对象引用、事件回调)
- javascript SVG的动画,脚本,事件
- 3 随手移动的小球。。。基于回调的事件
- Android事件处理的2种方式:监听器与回调
- 贝塞尔曲线:如何让一个正在按照贝塞尔曲线运动的精灵减速或加速(动画结束回调)
- 基于回调的事件处理——回调机制与监听机制
- jQuery 选择器、DOM操作、事件、动画
- android事件监听回调机制
- .NET中回调事件的简单分析