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
;
}
}
Would love your thoughts, please comment.
x