【问题标题】:Collision stops working when colliding with two other colliders at the same time同时与其他两个碰撞器碰撞时碰撞停止工作
【发布时间】:2015-08-02 04:41:43
【问题描述】:

玩家是一个带有Circle Collider 2d 的轮子,当它与地面碰撞时可以跳跃和移动(isGrounded 变量)。

我还有另外两个 gameObjetsPolygon Colliders 2d 代表地面并并排连接。

玩家可以正常工作,但是当它同时与两个地面碰撞时,即使玩家仍然站在其中一个地面上,碰撞也不再有效。 变量isGrounded 变为 false 并失去对不会移动或跳跃的玩家的控制。

我正在使用 Unity3d 4.5

public class Wheel : MonoBehaviour {

    void OnCollisionExit2D(Collision2D collision){
        if(collision.gameObject.tag == "Ground"){
        Global.IS_PLAYER_GROUNDED = false;
        //Debug.Log("exit");
        }
    }   

    void OnCollisionEnter2D(Collision2D collision){
        if(collision.gameObject.tag == "Ground"){
            Global.IS_PLAYER_GROUNDED = true;
            //Debug.Log("enter");
        }

    }
}

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    嘿,你可以尝试添加 OnCollisionStay2D(Collision2D coll) {//准确添加 oncollisionenter 中写的内容 } 我猜这应该会有所帮助

    【讨论】:

    • 谢谢@Aodai...终于明白了 OnCollisionStay2D 的用途。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多