您的位置:首页 > 移动开发 > Unity3D

Unity3d之Animation(动画系统)

2018-01-03 09:16 323 查看


Unity3d之Animation(动画系统)

原创 2016年04月30日
18:15:17

标签:
unity3d /
动画 /
Animation

20914

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); ,有过度的切换动画,传入参数(动画名字,过度时间)

实例代码

[csharp] view
plain copy

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

}

}

}

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: