Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Unity3d之Animation(動畫系統)

Unity3d之Animation(動畫系統)

編輯:關於Android編程

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

將代碼添加到游戲對象,運行游戲。

 

\

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved