【问题标题】:Falling Platform using rigidbody使用刚体的落体平台
【发布时间】:2015-01-30 05:24:48
【问题描述】:

我有一个平台,一旦玩家踩到它,我就想摔倒。它有两个盒子对撞机。一个是它的物理存在,另一个是触发器。它还有一个默认为运动学的刚体,因此它不会立即下落。但是,当玩家踩到它时,它什么也不做。谁能告诉我我的代码有什么问题?

var yourObject : GameObject;
 function OnTriggerEnter(Other : Collider){

 if(Other.gameObject.tag == "Player"){

 yourObject.rigidbody2D.isKinematic = false;

 }

 }

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    请检查您的游戏对象标签。

    而且我看到你使用 Rigidbody2D 所以你不要在下面添加

     var yourObject : GameObject;
     function OnTriggerEnter(Other : Collider){
        if(Other.gameObject.tag == "Player"){ 
           yourObject.rigidbody2D.isKinematic = false;
        }
    
     }
    

    你需要使用this

    function OnTriggerEnter2D(other: Collider2D) {
         if(other.gameObject.tag == "Player"){ 
               yourObject.rigidbody2D.isKinematic = false;
         }
    }
    

    还请检查您是否将标签添加到游戏对象(我认为您的意思是检查名称)

    喜欢

    function OnTriggerEnter2D(other: Collider2D) {
         if(other.gameObject.name == "Player"){  //check name
               yourObject.rigidbody2D.isKinematic = false;
         }
    }
    

    【讨论】:

      【解决方案2】:

      要实现各种下降平台,您不必使用IsKinematic 函数。

      相反,您可以关闭Use Gravity 功能。这将防止物体下落,直到另一个具有刚体且质量大于平台质量的物体接触它。如下图所示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-06
        • 1970-01-01
        • 1970-01-01
        • 2014-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多