using UnityEngine;
using System.Collections;
public class AnimationManager : MonoBehaviour {
/// <summary>
/// 创建动画动画控制委托,后面创建播放动画方法,然后就调用就可以直接用委托的对象来调用
/// 例:animationHandler = xxx,
/// </summary>
public delegate void AnimationHandler();
/// <summary>
/// 创建动画对象
/// </summary>
Animation animation;
/// <summary>
/// 创建动画控制器单例
/// </summary>
public static AnimationManager instance;
/// <summary>
/// 创建各个动画,外面赋值
/// </summary>
public AnimationClip Dead;
public AnimationClip JumpDown;
public AnimationClip JumpLoop;
public AnimationClip JumpUp;
public AnimationClip Roll;
public AnimationClip Run;
public AnimationClip TurnLeft;
public AnimationClip TurnRight;
/// <summary>
/// 实例化委托
/// </summary>
public AnimationHandler animationHandler;
// Use this for initialization
void Start () {
//初始化单例
instance = this;
//默认播放奔跑动画
animationHandler = PlayRun;
//拿到动画组件,挂载在本体上的
animation = GetComponent<Animation>();
}
/// <summary>
/// 播放各个动画
/// </summary>
#region
public void PlayDead()
{
animation.Play(Dead.name);
}
public void PlayJumpDown()
{
animation.Play(JumpDown.name);
}
public void PlayJumpLoop()
{
animation.Play(JumpLoop.name);
}
public void PlayJumpUp()
{
animation.Play(JumpUp.name);
if (animation[JumpUp.name].normalizedTime > 0.95f)
{
animationHandler = PlayRun;
}
}
public void PlayRoll()
{
animation.Play(Roll.name);
if (animation[Roll.name].normalizedTime > 0.95f)
{
animationHandler = PlayRun;
PlayerController.instance.isRoll = false;
}
else
{
PlayerController.instance.isRoll = true;
}
}
public void PlayDoubleJump()
{
animation.Play(Roll.name);
if (animation[Roll.name].normalizedTime > 0.95f)
{
animationHandler = PlayJumpLoop;
}
}
public void PlayRun()
{
animation.Play(Run.name);
}
public void PlayTurnLeft()
{
animation.Play(TurnLeft.name);
if(animation[TurnLeft.name].normalizedTime > 0.95f)
{
animationHandler = PlayRun;
}
}
public void PlayTurnRight()
{
animation.Play(TurnRight.name);
if (animation[TurnRight.name].normalizedTime > 0.95f)
{
animationHandler = PlayRun;
}
}
#endregion
// Update is called once per frame
void Update () {
if(animationHandler !=null)
{
//在update里面实时判断委托播放动画
animationHandler();
}
}
}
G
M
T
Detect languageAfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CorsicanCroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchFrisianGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHawaiianHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanKurdishKyrgyzLaoLatinLatvianLithuanianLuxembourgishMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPashtoPersianPolishPortuguesePunjabiRomanianRussianSamoanScots GaelicSerbianSesothoShonaSindhiSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshXhosaYiddishYorubaZulu |
| AfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CorsicanCroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchFrisianGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHawaiianHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanKurdishKyrgyzLaoLatinLatvianLithuanianLuxembourgishMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPashtoPersianPolishPortuguesePunjabiRomanianRussianSamoanScots GaelicSerbianSesothoShonaSindhiSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshXhosaYiddishYorubaZulu |
|
|
|
|
|
Text-to-speech function is limited to 200 characters
| Options : History : Feedback : Donate | Close |