Unity3d之Animation(动画系统)

1,动画系统配置,2,代码控制动画

原文地址: http://blog.csdn.net/dingkun520wy/article/details/51247487

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);
        }
        
    }
}

将代码添加到游戏对象,运行游戏。



猜你喜欢

转载自blog.csdn.net/dingkun520wy/article/details/51247487