Unity3D Animator控制参数和添加事件
Animator控制参数和添加事件
using UnityEngine;
using System.Collections; public class AniControl : MonoBehaviour { public bool IsRolling = false;
public bool IsDead = false;
public bool IsJump = false;
public float Direction = 0.5f;
public Animator Anitor;
public float Velocity = 0f; public int IsRollingId =-1;
public int IsJumpId = -1;
public int IsDeadId = -1; AnimatorOverrideController overrideController; void Awake()
{
//获得哈希id
IsRollingId = Animator.StringToHash ("IsRolling");
IsDeadId = Animator.StringToHash ("IsDead");
IsJumpId = Animator.StringToHash ("IsJump"); //要动态修改Animator 需要给OverrideController
overrideController = new AnimatorOverrideController();
overrideController.runtimeAnimatorController = Anitor.runtimeAnimatorController;
} // Use this for initialization
void Start () { var runClip = overrideController["Run"];
Anitor.runtimeAnimatorController = overrideController; //动态添加事件
AnimationEvent aEvent1 = new AnimationEvent();
aEvent1.time = runClip.length;
aEvent1.functionName = "OnOpenComplete";
aEvent1.stringParameter = runClip.length.ToString ();
runClip.AddEvent(aEvent1);
} // Update is called once per frame
void Update () { if (Input.GetKey (KeyCode.W)) {
Velocity = 1.0f;
} else {
Velocity = 0f;
} if (Input.GetKey (KeyCode.Space)) {
IsJump = true;
} else {
IsJump = false;
}
if (Input.GetKey (KeyCode.A)) {
Direction = 0;
} else if (Input.GetKey (KeyCode.D)) {
Direction = 1;
} else {
Direction = 0.5f;
} Anitor.SetFloat ("Velocity",Velocity);
Anitor.SetBool (IsRollingId,IsRolling);
Anitor.SetBool (IsDeadId,IsDead);
Anitor.SetBool (IsJumpId,IsJump);
Anitor.SetFloat ("Direction",Direction); } void OnOpenComplete(string str)
{
Debug.Log ("OnOpenComplete="+str);
}
}
Unity3D Animator控制参数和添加事件的更多相关文章
- js添加事件监听的方式与this
js添加事件监听与this js添加事件监听的方式与this 在标签中调用自定义函数 DOM0级事件处理程序 DOM2级事件处理程序 this 代表谁? js添加事件监听的方式与this <di ...
- addListener添加事件监听器,第三个参数useCapture (Boolean) 的作用
addEventListener 有三个参数:第一个参数表示事件名称(不含 on,如 "click"):第二个参数表示要接收事件处理的函数:第三个参数为 useCapture,本文 ...
- Flex 关于 keyDown事件的添加和移除(另附添加事件的执行带参数的函数)
今天遇到一个棘手的问题,原本的textInput控件有一个keyDown事件,但是不是所有的用户都需要,麻烦了首先先删除控件里面的keyDown,这个事件放在这谁都得用,我就是不想用这就实现不了,怎么 ...
- Unity3D的按钮添加事件有三种方式
为Unity3D的按钮添加事件有三种方式,假设我们场景中有一个Canvas对象,Canvas对象中有一个Button对象. 方式一: 创建脚本ClickObject.cs,然后将脚本添加到Canvas ...
- ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇
原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇 第三章 为控件添加事件 后篇 前一篇文章只是简单的说了下事件,但是大家应该方法,在ASP.NET自定义控件中只是简单那么定义事件是 ...
- Unity游戏开发——自动为动画剪辑添加事件 之 最后几帧的事件不能被调用的问题
最近在做一个根据配置表自动生成动画剪辑clip以及controller的功能.做法是根据配置表配置的动作以及每个动作的关键帧,自动为每个clip添加事件.这样做可以把动画的事件处理在游戏运行之前就计算 ...
- JS事件冒泡机制和兼容性添加事件
本篇文章主要来讲讲 事件的冒泡机制 和 添加事件的几种方法. 一. JS的时间传递顺序: 捕获阶段 -> 目标阶段 -> 冒泡阶段 捕获阶段是指从父层往子层找.比如 <body> ...
- ASP.NET实现微信功能(1)(创建菜单,验证,给菜单添加事件)
LZ实在 不知道怎么起名字了,索性就取了这个名字,开始吧,说实在的,想给自己的平常的学习做一个总结,总是忘了总结.也只能给工作做一个总结了. 我打算用2篇文章来写,第一篇是关于订阅号的,就是这个号,另 ...
- 深入理解JavaScript的闭包特性如何给循环中的对象添加事件
初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件.在事件响应函数中(event handler)获取对应的索引.但每次获取的都是最后一次循环的索引.原因是初学者并未理解JavaScript ...
随机推荐
- Mac 安装HL-340 usb转串口驱动
下载地址: http://www.wch.cn/download/CH341SER_MAC_ZIP.html 安装,重启. 开机之前按住 command + r 进入recovery模式 终端输入:c ...
- tftp + bras
Ubuntu 12.04 网卡设置 开发板ip时192.168.0.2,设置的服务ip是192.168.0.1 因此在主机上/etc/network/interfaces添加如下内容 auto eth ...
- lua 时间戳和时间互相转换
1.时间戳转换成时间 local t = 1412753621000 function getTimeStamp(t) return os.date("%Y%m%d%H", ...
- Windows下使用最新的JDK1.7.0_51以上版本连接Jenkins出现SecurityException
我在slave节点上安装了jdk1.8, 当在节点上启动slave-agent的时候,报安全性限制的错误: java.lang.SecurityException: Missing required ...
- springmvc 文件下载
1.使用servlet的API实现 参考:http://my.oschina.net/u/1394615/blog/311307 @RequestMapping("/download&quo ...
- linux 中搜索命令的对比
1.find find是最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: #find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和 ...
- Fade out transition effect using CSS3
摘要: css3已经被应用到很多网站了,对于创建动态交互的网站是非常有益的.今天就分享一个使用transition实现的鼠标悬停淡阴淡出的效果. 代码: <!DOCTYPE html> & ...
- MTK 隐藏上方的状态栏
步骤一: 源码/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.ja ...
- Batch Normalization 学习笔记
原文:http://blog.csdn.net/happynear/article/details/44238541 今年过年之前,MSRA和Google相继在ImagenNet图像识别数据集上报告他 ...
- 8 -- 深入使用Spring -- 1...2 Bean后处理器的用处
8.1.2 Bean后处理器的用处 Spring提供的两个常用的后处理器: ⊙ BeanNameAutoProxyCreator : 根据Bean实例的name属性,创建Bean实例的代理. ⊙ De ...