U3D Animator 中的正播倒播

时间:2022-05-04 04:39:38

//U3D Animator 中的正播倒播

//其实新的动画系统,可以用节点连出来,正播至头,等一会再倒播的效果。

//1个动画创建两个“状态”,一个speed=1,一个speed=-1。

//两创建两个动画间的过度,ExitTime 就是延时的等待时间。记得把过度的部分调成“无”

//大家好我是笨笨,笨笨的笨,笨笨的笨,谢谢! 

//20150923 by Jerryjin



<p>//U3D Animator 中的正播倒播</p><p>//其实新的动画系统,可以用节点连出来,正播至头,等一会再倒播的效果。</p><p>//1个动画创建两个“状态”,一个speed=1,一个speed=-1。</p><p>//两创建两个动画间的过度,ExitTime 就是延时的等待时间。记得把过度的部分调成“无”</p><p>//大家好我是笨笨,笨笨的笨,笨笨的笨,谢谢! </p><p>//20150923 by Jerryjin</p>

using UnityEngine;
using System.Collections;

public class AnimationTest : MonoBehaviour {
	Animator anim;
	void Start () {
		
		anim = GameObject.Find ("test_sprite").GetComponent<Animator>();
		UIEventListener.Get(GameObject.Find ("test_btnf")).onClick = ButtonClickf;//添加监听事件
		UIEventListener.Get(GameObject.Find ("test_btnb")).onClick = ButtonClickb;//添加监听事件
		UIEventListener.Get(GameObject.Find ("test_btnp")).onClick = ButtonClickp;//添加监听事件
	}
		
	void ButtonClickf(GameObject go){
		print(">>>>>>>>>>" + anim.speed);		
		//用速度控制播放和暂停
		anim.speed = 1;
		anim.Play ("AnimationTestClip");

	}
	void ButtonClickb(GameObject go){
		print("<<<<<<<<<<<" + anim.speed);		
		//用速度控制播放和暂停
		anim.speed = -1;
		anim.Play ("AnimationTestClip");
		
	}
	void ButtonClickp(GameObject go){
		print("sssssssss" + anim.speed);		
		//用速度控制播放和暂停
		anim.speed = 0;
	}
}