基本上我希望滚动动画完全播放,而不是像格斗游戏特别动作那样被打断。因此,当我按下或按住这种情况时,动画必须完成一个循环,然后我必须再次按住或按住向下键才能再次启动。任何帮助都会很棒。
const int STATE_Idle = 0;
const int STATE_Run = 1;
const int STATE_Roll = 2;
const int STATE_Jump = 3;
if (Input.GetKey ("down")
{
changeState(STATE_Roll);
transform.Translate(new Vector3(1f, -.4f, 0f) * rollSpeed * Time.deltaTime);
}
if (animator.GetCurrentAnimatorStateInfo(0).IsName("roll"))
_isPlaying_roll = true;
else
_isPlaying_roll = false;
}
//--------------------------------------
// Change the players animation state
//--------------------------------------
void changeState(int state){
if (_currentAnimationState == state)
return;
switch (state) {
case STATE_Run:
animator.SetInteger ("state", STATE_Run);
break;
case STATE_Roll:
animator.SetInteger ("state", STATE_Roll);
break;
case STATE_Jump:
animator.SetInteger ("state", STATE_Jump);
break;
case STATE_Idle:
animator.SetInteger ("state", STATE_Idle);
break;
}
_currentAnimationState = state;
}
答案 0 :(得分:0)
如何将动画条放在列表中。每次想要运行动画时,请检查不是您想要的任何其他用户输入。如果它是您想要的输入,则遍历整个列表,然后继续执行下一步。
这样的事情:
{{1}}