以下是一个简单的Unity人物跳跃脚本示例:

public class PlayerJump : MonoBehaviour
{
    public float jumpForce = 5f;
    public float groundCheckDistance = 0.1f;
    public LayerMask groundMask;

    private Rigidbody2D rb;
    private bool isGrounded;

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

    void FixedUpdate()
    {
        isGrounded = Physics2D.Raycast(transform.position, Vector2.down, groundCheckDistance, groundMask);

        if (isGrounded && Input.GetKeyDown(KeyCode.Space))
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpForce);
        }
    }
}

该脚本具备以下功能:

  1. 设置跳跃力和地面检测距离,以及地面图层;
  2. 获取人物的Rigidbody2D组件;
  3. 每帧检测人物是否在地面上,如果在,则判断是否按下了空格键,如果是,则给人物一个向上的力,使其跳跃;
  4. 人物跳跃时,只改变其y方向上的速度,x方向上的速度不变。

要使用该脚本,只需将其附加到人物对象上即可。在Unity编辑器中,将该脚本拖拽到人物对象上即可。


原文地址: https://www.cveoy.top/t/topic/naWi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录