一、问题描述
Unity 按空格让Player跳跃的时候,需要多按几下才能跳。有时候按一下就可以了。
二、解决方案
1.Update——Time.deltaTime
代码如下(示例):
void Update()
{
/*print("Update Sceen!");*/
if(!isHurt)
{
Movement();
}
SwitchAnim();
Crouch();
}
//角色移动、跳跃
void Movement()
{
float HorizontalMove = Input.GetAxis("Horizontal");
float FaceFriction = Input.GetAxisRaw("Horizontal");
//角色移动
ws.velocity = new Vector2(HorizontalMove * speed * Time.deltaTime, ws.velocity.y);
2.FixUpdate——Time.fixedDeltaTime
代码如下(示例):
void FixUpdate()
{
/*print("Update Sceen!");*/
if(!isHurt)
{
Movement();
}
SwitchAnim();
Crouch();
}
//角色移动、跳跃
void Movement()
{
float HorizontalMove = Input.GetAxis("Horizontal");
float FaceFriction = Input.GetAxisRaw("Horizontal");
//角色移动
ws.velocity = new Vector2(HorizontalMove * speed * Time.fixedDeltaTime, ws.velocity.y);
总结
这两种都可以,但是交叉对着不行