2016-05-28 29 views
1

Ich versuche, eine Replik von Asteroiden in Unity zu machen. Das Problem ist, dass meine Kugeln die OnTriggerEnter2D Methode auf den Asteroiden nicht auslösen. Die Asteroiden haben das folgende Skript angehängt:OnTriggerEnter2D wird nicht aufgerufen

using UnityEngine; 
using System.Collections; 

public class Asteroid : MonoBehaviour { 

    void Start() { 

     print ("class initiated"); 

    } 

    void onTriggerEnter2D (Collider2D collider) { 

     Debug.Log (collider); 

    } 

} 

Die Kugel hat Gameobject Is Kinematic und Ist-Trigger aktiviert ist, und hat Starrkörper 2D und Box Collider 2D angebracht. Der Asteroid GameObject hat Rigidbody 2D und Circle Collider 2D und Is Kinematic und Is Trigger ist deaktiviert.

Antwort

1

Das Problem ist die Rechtschreibung. Die o in onTriggerEnter2D sollte aktiviert werden. Ein einfacher Fehler wie dieser kann deinen Tag ruinieren. Ich habe es nicht einmal bemerkt, bis ich deinen Code ausgeführt habe.

void OnTriggerEnter2D(Collider2D collider) 
{ 
    Debug.Log(collider); 
} 

Das nächste Mal, wenn Sie nicht sicher über die Schreibweise der Unity Callback-Funktion sind, klicken Sie rechts in Visual Studio dann MonoBehaviours Suche nach der gewünschten Funktion implementieren klicken, wählen Sie es aus und klicken Sie auf OK. Visual Studio wird diese Funktion für Sie hinzufügen.

+1

Oh wow, ich fühle mich dumm. Vielen Dank! –