繁体   English   中英

似乎无法让我的玩家团结起来

[英]Cannot seem to make my player jump in unity

我正在 Unity 中开发一款 2D 游戏,试图让我的玩家跳跃。 尽管看了很多视频,调整了很多次代码,但当我按下空格键时,他就是不跳。 甚至在 Unity 中检查了输入管理器之后,我确信这是一个简单的修复,我在某处遗漏了但我看不到它可能在哪里。

public class FoxyController : MonoBehaviour
{
    Rigidbody2D rigidbody2d; 
    float horizontal;
    float vertical; 
    public float jumpVelocity = 10f; 

void Start()
{
    rigidbody2d = GetComponent<Rigidbody2D>();
}


void Update()
{
    horizontal = Input.GetAxis("Horizontal");
    vertical = Input.GetAxis("Vertical");


    if (Input.GetKey(KeyCode.Space))
    { 
        Jump(); 
    }
}


void FixedUpdate()
{
    Vector2 position= rigidbody2d.position;
    position.x = position.x + 4f * horizontal * Time.deltaTime;
    position.y = position.y + 4f * vertical * Time.deltaTime; 

    rigidbody2d.MovePosition(position);         
}

void Jump()
{
    rigidbody2d.velocity = Vector2.up * jumpVelocity; 
}

}

使用 -> rb.AddForce(Vector2.up * jumpAmount, ForceMode2D.Impulse); 其中 jumpAmount 可以是多人游戏,你可以使用 10f 作为 jumpAmount 值。

    if (Input.GetKey(KeyCode.Space))
    { 
        rb.AddForce(Vector2.up * jumpAmount, ForceMode2D.Impulse);
    }

在 update 方法中添加上面的代码而不是 jump() 方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM