Unity3d之Animation(动画片系统)
Unity3d之Animation(动画系统)
将代码添加到游戏对象,运行游戏。
1,动画系统配置,2,代码控制动画
原文地址: http://blog.****.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); } } }
将代码添加到游戏对象,运行游戏。
- 2楼u012466304昨天 19:51
- 以后也要向前台方向发展一下了
- 1楼u012466304昨天 19:27
- 动画配置很有意思