Unity 动画 Tag nameHash
2015-12-11 08:53
483 查看
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
Animator anim;
AnimatorStateInfo info;
int num_Parameter;
// Use this for initialization
void Start () {
anim = GetComponent<Animator> ();
num_Parameter = Animator.StringToHash("num_Parameter");
}
// Update is called once per frame
void Update () {
info = anim.GetCurrentAnimatorStateInfo (0);
//利用anim的Tag来确定此时正在执行的是哪一个动画
if (info.tagHash == Animator.StringToHash ("T")) {
print ("Test");
}
if (info.tagHash == Animator.StringToHash ("T1")) {
print ("Test1");
}
if (info.IsTag ("T")) {
print ("Test");
}
if (info.IsTag ("T1")) {
print ("T1");
}
//
//利用anim的名称来确定此时正在执行的是哪一个动画
if (info.nameHash == Animator.StringToHash ("Base Layer.Test")) {
print ("Test");
}
if (info.nameHash == Animator.StringToHash("Base Layer.Test1")) {
print ("Test1");
}
if (info.IsName ("Test")) {
print ("Test");
}
if (info.IsName ("Test1")) {
print ("Test1");
}
//
//num_Parameter = Animator.StringToHash("num_Parameter");
//利用动画参数的hash来确定动画的Transition
if (Input.GetMouseButtonDown (0)) {
if (info.IsName ("Test1")) {
anim.SetInteger(num_Parameter,0);
}
if(info.IsName("Test")){
anim.SetInteger(num_Parameter,1);
}
}
//利用动画参数的名称来确定动画的Transition
if (Input.GetMouseButtonDown (0)) {
if (info.IsName ("Test1")) {
anim.SetInteger("num_Parameter",0);
}
if(info.IsName("Test")){
anim.SetInteger("num_Parameter",1);
}
}
}
}
(其中 1 Test的tag是“T”,Test1的tag是“T1”
2 num_Parameter = 0时 Test1------》Test , num_Parameter
= 1时 Test------》Test1
)
using System.Collections;
public class Test : MonoBehaviour {
Animator anim;
AnimatorStateInfo info;
int num_Parameter;
// Use this for initialization
void Start () {
anim = GetComponent<Animator> ();
num_Parameter = Animator.StringToHash("num_Parameter");
}
// Update is called once per frame
void Update () {
info = anim.GetCurrentAnimatorStateInfo (0);
//利用anim的Tag来确定此时正在执行的是哪一个动画
if (info.tagHash == Animator.StringToHash ("T")) {
print ("Test");
}
if (info.tagHash == Animator.StringToHash ("T1")) {
print ("Test1");
}
if (info.IsTag ("T")) {
print ("Test");
}
if (info.IsTag ("T1")) {
print ("T1");
}
//
//利用anim的名称来确定此时正在执行的是哪一个动画
if (info.nameHash == Animator.StringToHash ("Base Layer.Test")) {
print ("Test");
}
if (info.nameHash == Animator.StringToHash("Base Layer.Test1")) {
print ("Test1");
}
if (info.IsName ("Test")) {
print ("Test");
}
if (info.IsName ("Test1")) {
print ("Test1");
}
//
//num_Parameter = Animator.StringToHash("num_Parameter");
//利用动画参数的hash来确定动画的Transition
if (Input.GetMouseButtonDown (0)) {
if (info.IsName ("Test1")) {
anim.SetInteger(num_Parameter,0);
}
if(info.IsName("Test")){
anim.SetInteger(num_Parameter,1);
}
}
//利用动画参数的名称来确定动画的Transition
if (Input.GetMouseButtonDown (0)) {
if (info.IsName ("Test1")) {
anim.SetInteger("num_Parameter",0);
}
if(info.IsName("Test")){
anim.SetInteger("num_Parameter",1);
}
}
}
}
(其中 1 Test的tag是“T”,Test1的tag是“T1”
2 num_Parameter = 0时 Test1------》Test , num_Parameter
= 1时 Test------》Test1
)
相关文章推荐
- 【Unity】脚本选择打勾的勾选框隐藏
- unity,set ugui rectTransform anchor by script
- UnityVS(Visual Studio Tools For Unity)的安装与使用
- 固定管线shader以及unity旋转四元数
- unity3d中的旋转函数之Quaternion.Slerp
- 六要点实现Unity3D开发性能优化
- Unity 制作灯罩 双面材质背面不受光照影响的解决方法
- Unity3D 各个版本安装破解
- Unity3D 关于Coroutine(协程)使用的研究笔记及关于yield的理解
- unity 语音开发中遇到的一些问题
- 解决Unity 中WWW加载 AssetBundle---中文路径
- KING_Unity学习之UGUI_Canvas渲染顺序以及层次关系总结
- Unity3D, WWW下载图片并保存
- Unity3D 游戏开发架构篇 ——性格一流的设计和持久性
- Unity3D中继承MonoBehaviour的类中会被引擎自动调用的方法
- Unity3D调用Android Java代码
- 安装最新Mysql community server
- Unity3D核心类型一览
- 关于unity 不规则按钮的制作
- unity ios从打包到审核到发布全过程