2015-03-03 41 views
0

我正在团结3D跳跃和空闲动画切换动画。 下面是代码:使用UnityEngine我不能正确地团结

;使用System.Collections的 ;

公共类JumpingD:MonoBehaviour {

public Animator anim; 
public float JumpSpeed_; 
private RigidBody _Character; //rigid body of the Character 
public Vector3 JumpVector; 

/*The thresh Hold level for the character to jump are 
    1: Stay Idle 
    25: Jump Up 
    */ 
void Start() 
{ 
    anim=GetComponent<Animator>(); 
    anim.SetFloat("JumpSpeed", 1) 
} 


void Update() 
{ 
    anim.SetFloat("JumpSpeed", 1) 
    if(Input.GetKeyDown(KeyCode.J)) 
    { 
     _Character.AddForce(JumpVector*Time.deltaTime); 
     anim.SetFloat("JumpSpeed", 25) 
    } 
} 

}

问题是跳跃的动画不玩,即使按下后,J键。 始终闲置播放动画 我想跳动画播放后,我按J键和其后的字节再次进入空闲状态。

+0

不要使用统一标签的相关Unity3d游戏引擎的问题。有unity3d标签。 – 2015-03-03 10:00:04

回答

0

您的更新方法,该方法被调用每一帧,设置“JumpSpeed”为1。这意味着下一帧的播放器将停止按J键,它会立即下降到1的第一行,因此当然跳跃动画不会播放“之后”玩家按下J键。

+0

是的,我知道,但我希望按下J后播放跳转动画,然后当我跳动画停止J按钮时,它再次播放空闲动画。 – rafiAksdProgrammer 2015-03-03 10:08:03

+0

顺便感谢golergka – rafiAksdProgrammer 2015-03-03 10:08:20

+0

检查你的动画是如何设置的 - 它起着动画完全返回到怠速状态之前。 – 2015-03-03 10:10:12