0

https://pasteboard.co/IrKZbCV.png

void OnCollisionEnter2D(Collision2D col)
    {
        float angle = Vector3.Angle(Vector3.up, col.contacts[0].normal);
        if (col.transform.gameObject.tag == "enemyWalk")
        {
            Physics2D.IgnoreCollision(col.gameObject.GetComponent<Collider2D>(), GetComponent<Collider2D>(), true);
        }
        else
        {
            Physics2D.IgnoreCollision(col.gameObject.GetComponent<Collider2D>(), GetComponent<Collider2D>(), false);
        }
        if (col.transform.gameObject.tag == "stone")
        {
            angle = Vector3.Angle(Vector3.up, col.contacts[0].normal);

            if (Mathf.Approximately(angle, 0))
            {
                isGround = true;
                taş = true;
            }
        }
        else if (col.transform.gameObject.tag == "ground")
        {
            angle = Vector3.Angle(Vector3.up, col.contacts[0].normal);

            if (Mathf.Approximately(angle, 0))
            {
                isGround = true;
                çimen = true;
            }
        }
}

    if ((isJump.jmp || Input.GetKeyDown(KeyCode.Space)) && !isDeath && isGround)
        {
            rgd.AddForce(new Vector2(0, 2.750f), ForceMode2D.Impulse);
            jumpAudio.Play();
            isGround = false;
        }

当我按下跳跃键时我只想跳我的角色一次,但是当我在图片上显示这种情况时,有时我的角色在我跳到岩石底部附近时跳得太高了。我的意思是,好像我的跳跃代码同时工作多次。我在等你的帮助。

4

0 回答 0