1,动画系统配置,2,代码控制动画
原文地址:
1,动画系统配置
创建游戏对象并添加Animation组件,然后将动画文件拖入组件。
进入动画文件的Debug属性面板
选中Legacy属性
选中游戏对象,打开Animation编辑窗口
添加动画变化属性
需改关键帧的属性值
配置完成后运行即可得到动画效果
2,代码控制动画
Play("ation 1" );,播放动画,传入参数为动画名字
Stop("ation 1") ,停止动画,传入参数为动画名字
CrossFade("ation 1", 0.5f); ,有过度的切换动画,传入参数(动画名字,过度时间)
实例代码
- using UnityEngine;
- using System.Collections;
- public class NewBehaviourScript : MonoBehaviour {
- Animation m_anim;
- private float scaleW = 1.0f; //宽度缩放比
- private float scaleH = 1.0f; //高度缩放比
- // Use this for initialization
- void Start () {
- //获取动画组件
- m_anim = GetComponent<Animation>();
- if (!m_anim.isPlaying)
- {
- //若没有动画播放,默认播放New Animation 1动画
- m_anim.CrossFade("ation 1", 0.2f);
- }
- }
- // Update is called once per frame
- void Update () {
- scaleW = (float)Screen.width / 800; //计算宽度缩放比
- scaleH = (float)Screen.height / 480; //计算高度缩放比
- }
- void OnGUI()
- {
- GUI.skin.button.fontSize = (int)(25 * scaleW); //调整按钮字体大小
- if (GUI.Button(new Rect(70 * scaleW, 50 * scaleH, 90 * scaleW, 40 * scaleH), "ation 1"))
- {
- m_anim.Play("ation 1" );
- }
- if (GUI.Button(new Rect(70 * scaleW, 110 * scaleH, 90 * scaleW, 40 * scaleH), "imation"))
- {
- m_anim.Play("imation");
- }
- if (GUI.Button(new Rect(70 * scaleW, 170 * scaleH, 220 * scaleW, 40 * scaleH), "有过度播放ation 1"))
- {
- m_anim.CrossFade("ation 1", 0.5f);
- }
- if (GUI.Button(new Rect(70 * scaleW, 230 * scaleH, 220 * scaleW, 40 * scaleH), "有过度播放imation"))
- {
- m_anim.CrossFade("imation", 0.5f);
- }
- }
- }