Unity3D旧动画播放

解决动画衔接问题

创建枚举管理人物动画状态

 

初始状态Idle

    //1、根据操作不同切换不同状态(声明状态)
    private PlayerState p = PlayerState.Idle;

播放动画

创建方法 将三种动画写进去 放进Update

 void PlayAnimation() 
    {
        switch (p)
        {
            case PlayerState.Walk:
                an.Play(StaticGameResources.runAimingForward);
                ChangeState(PlayerState.Walk);
                break;
            case PlayerState.Idle:
                an.Play(StaticGameResources.idleStandAiming);
                break;
             case PlayerState.Shoot:
                an.Play(StaticGameResources.standShoot);
                ChangeState(PlayerState.Shoot);
                 break;
            default:
                break;
        }
    }

切换状态

根据播放的动画切换相应的状态

获取当前动画播放的时间  walkTimer = an[StaticGameResources.runAimingForward].length;

强制等待动画播完,用if判断时间,再将动画赋值到初始状态,并重新获取动画播放时间

  case PlayerState.Shoot:
                shootTimer -= Time.deltaTime;
                if (shootTimer<=0)
                {
                    p = PlayerState.Idle;
                    shootTimer = an["standShoot"].length;
                }
                break;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值