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