Unity的动画系统|Unity的老版Amimation动画使用(正序、倒序播放某一段动画)
Amimation动画可以重复播放某一段动画
文章图片
1、设置
文章图片
将带有动画的模型选择,如图所示,点击Apply。
2、将下面脚本挂在带有Amimation动画的Gameobject上
2.1方法一:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimationnPlay : MonoBehaviour {
private Animation ani;
private void Start()
{
ani = this.GetComponent();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.W))
{
PlayAnimation(“Idle”, 1f);
}
}
private void PlayAnimation(string _name, float speed = 1f)
{
if (ani[_name] != null)
{
if (ani.isPlaying)
{
ani.Stop();
}
if (speed == -1)
{
ani[_name].time = ani[_name].length;
//从最后开始。
}
else
{
ani[_name].time = 0;
}
ani[_name].speed = speed;
print(ani[_name].speed + " : " + ani[_name].name + ": " + ani[_name].length);
ani.Play(_name);
}
else
{
print(“请输入动画片段名字”);
}
}
}
2.1.2、点一下W键,即可看到播放一下Idle动画片段。
2.1.3、补充一个,如果要让这一段动画倒着可以重复播放,怎么做?
PlayAnimation(“Idle”, -1f);
上面调用方法,改为-1f,即可。
【Unity的动画系统|Unity的老版Amimation动画使用(正序、倒序播放某一段动画)】2.2方法二:
public class Aniplay: MonoBehaviour
{
public bool AnimaState=false;
private Animation anim;
public string animName;
private void Start()
{
anim = this.GetComponent();
}
private void OnMouseDown()
{
if (AnimaState)
{
//动画是否正在播放。
if (anim.isPlaying==false)
{
//倒播。
anim[animName].speed = -1;
//从最后开始播放。
anim[animName].time = anim[animName].length;
}
}
else
{
anim[animName].speed = 1;
}
//开始播放
anim.Play();
AnimaState = !AnimaState;
}
}
文章图片
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量