2013-01-04 24 views
2

此代碼是爲了觸發碰撞:如何在發生碰撞時激活此代碼?

public class Collision : MonoBehaviour { 

    public CustomClass myObject; 

    void onCollisionEnter(Collision crash){ 
    myObject.Slowdown(); 
    } 
    void Start() {} 
    void Update() {} 
} 

我把它附着在物體(randomObject)將與我的主要對象(myObject的)發生碰撞,但它不工作。

誰能告訴我我做錯了什麼?

編輯:他們都是剛體,並definitly碰撞:如果randomObject落在myObject的,它會不動,位於它,但是myObject的移動,當它繼續下跌。

+0

檢查,就是要碰撞,並且都附加了某種對撞機。 –

+0

@IlyaIvanov兩者都是剛體,但只有一個人附有腳本。 – Dakeyras

+0

Kinematic選項是否轉爲兩者?觸發器是否也被關閉? –

回答

2

你的類和UnityEngine類,這是一個參數OnCollisionEnter都命名爲Collision。如果你改變你的類,以減少混亂(我的建議),或改變方法聲明爲以下的名稱,它應該工作:

如果你有剛體至少一個對象
void OnCollisionEnter(UnityEngine.Collision crash){ 
+0

在Unity 3D中反映腳本的腳步)) –

+0

即使案件發生變化,它仍然無法正常工作。我'是Kinematic'開啓'myObject',但不'randomObject' – Dakeyras

+0

你可以嘗試關閉IsKinematic?只是爲了看看它是否有效 –

相關問題