Ich bin eine komplette Einheit Neuling. Ich möchte eine einfache Szene machen, in der du drei Leben hast und du verlierst ein Leben, wenn du mit einem Würfel kollidierst. Das ist mein Skript:OnCollisionEnter in Einheit wird keine Funktion
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Lives : MonoBehaviour {
public Transform player;
public static int lives;
public Image live1;
public Image live2;
public Image live3;
// Use this for initialization
void Start() {
lives = 3;
live1.enabled = true;
live2.enabled = true;
live3.enabled = true;
}
void Update() {
DisplayOfHearts();
}
public static void Damage() {
lives -= 1;
}
public void OnCollisionEnter(Collision col) {
if (col.gameObject.tag == "cube") {
Lives.Damage();
}
}
public void DisplayOfHearts() {
if (lives == 2) {
live3.enabled = false;
}
else if (lives == 1) {
live2.enabled = false;
}
else if (lives == 0) {
live1.enabled = false;
}
}
}
Was passiert ist, kann der Spieler nicht durch den Würfel bewegen, aber die Menge des Lebens bleibt drei. Gibt es etwas, das mir fehlt?
Erzähl uns von den Spielobjekten – Bijan
Der Würfel hat einen Box Collider und einen starren Körper. Die Funktion "Ist Trigger" ist nicht aktiviert. Der Player (Kamera) hat einen Kapselcollider mit einer Triggerfunktion, die ebenfalls nicht eingeschaltet ist. – Robbebeest
Die Dokumentation besagt, dass _Collision-Ereignisse nur gesendet werden, wenn einer der Collider auch einen nicht-kinematischen Starrkörper hat_. Ist das der Fall? – Whatever