using UnityEngine;using System.Collections; public class AnimationAntiSowing : MonoBehaviour { public static AnimationAntiSowing _initialise; void Awake() { _initialise = this; } /// <summary> /// 動畫進行正反播放 /// </summary> /// <param name="gameObject">需要播放動畫的物體</param> /// <param name="isZhengOrFan">動畫的播放狀態</param> /// <param name="animation">動畫狀態</param> /// <returns></returns> public bool isPositiveAndNegativePlay(GameObject gameObject,bool isZhengOrFan,AnimationState animation) { //判斷傳入的動畫的播放狀態 //----傳入的狀態為true時,表示正常播放 //----傳入的狀態為false時,表示動畫播放完,可以進行反向播放 if(!isZhengOrFan) { //當沒有播放動畫的時候,播放動畫 if(!gameObject.animation.isPlaying) { gameObject.animation.Play(); //-----改變動畫的播放狀態----- //動畫的當前時間置為初始 animation.time = 0f; //動畫的播放速度為正常速度 animation.speed = 1.0f; //改變傳入的bool變量的值 isZhengOrFan = true; } } else { //當沒有播放動畫的時候,播放動畫 if (!gameObject.animation.isPlaying) { gameObject.animation.Play(); //-----改變動畫的播放狀態----- //動畫的當前時間置為動畫的時長 animation.time = animation.length; //向后走,即動畫進行反向播放,從終點向起點播放 animation.speed = -1.0f; //改變傳入的bool變量的值 isZhengOrFan = false; } } return isZhengOrFan; }}
以上就是本文分享的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答