在Unity中实现动画的正反播放代码

时间:2021-05-19

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

以上就是本文分享的全部内容了,希望大家能够喜欢。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章