有人可以帮我修复这个 jumpscript 吗?

Can someone help me fix this jumpscript?

我试图让我的角色在 unity2D 中跳跃,跳跃本身有效,但我无法正确检查我的玩家是否接触地面。 我在统一控制台中收到 2 个错误。

第一个: Physics2D 不包含对 OverLapArea 的定义。

第二个错误: Vector2 不包含采用 3 个参数的构造函数。

(我也为我糟糕的英语道歉,它不是我的母语)

脚本:

using System.Collections;

using System.Collections.Generic;

using System.Security.Cryptography;

using UnityEngine;

public class jump : MonoBehaviour

{
public bool IsGrounded;
public LayerMask platfomLayer;
    
 public Rigidbody2D rb2D ;
    // Start is called before the first frame update
    void Start()
    {
  
        rb2D = GetComponent<Rigidbody2D>();
    }

    // Update is called once per frame
    void Update()
    {
  IsGrounded = Physics2D.OverLapArea (new Vector2(transform.position.x - 0.5f, transform.position.x - 0.5f),
        new Vector2(transform.position.x + 0.5f, transform.position.y - 0, 51f),platfomLayer);
     
        {
            if (Input.GetKeyDown("space") && IsGrounded)  rb2D.AddForce(transform.up * 2000f);

        }



    }
}

错误都是正确的。

OverLapArea 拼写正确但大写错误。 Unity 引用区分大小写。

您确实在尝试将 3 个值传递给新的 Vector2。仔细查看您传递给第二个新 Vector2 值的内容。您在括号内用逗号分隔三个值。您似乎将“0.5f”误输入为“0, 51f”