Hallo liebe Coding-Freunde!
Ich sitze gerade an einem kleinen Unity3d Game bei welchem man mit einer Kugel herum rollt und lustig rotierende Würfel aufsammeln muss (Hab nach einer Tutorialreihe gearbeitet https://www.youtube.com/watch?v=ubmVc6hZEVg&t=130s ).
Um die Berührung zwischen Spieler und Würfel zu erkennen, diese aufzusammeln, zu deaktivieren und meinem Score einen Punkt hinzuzufügen nutze ich unter anderem diese Zeilen:
void OnTriggerEnter(Collider collider) {
if (collider.gameObject.CompareTag ("Gem")) {
collider.gameObject.SetActive (false);
count++;
UpdateScoreText ();
}
Das funktioniert auch genau so wie es sollte.
Jetzt möchte ich noch Objekte hinzufügen, welche bei Berührung 10 Punkte von einer 100 Punkte großen HP Leiste abziehen. Dafür habe ich unter anderem diesen Code verwendet:
void OnTriggerEnter(Collider enemyHit) {
if (enemyHit.gameObject.CompareTag ("Enemy")) {
hp = hp - 10;
UpdateHPText ();
}
Jedoch sieht das Unitys Console gar nicht gerne und bestraft mich mit dieser Fehlermeldung:
error CS0111: A member `PlayerController_New.OnTriggerEnter(UnityEngine.Collider)' is already defined. Rename this member or use different parameter types
Leider kenne ich mich mit Coding genauso gut aus wie mit Chinesisch. Bei "ni hao" fängt es nicht nur an, da hört es auch schon wieder auf. Ich dachte, dass "Collider" ein normaler Befehl bzw. eine Definition sei, aber irgendwie stimmt das wohl nicht so ganz...Außerdem verstehe ich nicht ganz, was ich hinter den Collider in die Klammern schreiben muss (Collider collider). Ist das zweite, kleingeschriebene "collider" der Name dieser Kollision oder was? Ist mein (Collider enemyHit) sowieso falsch, weil es "enemyHit" einfach nicht gibt? Und was muss ich ändern, wo ich doch genau den selben Ablauf wie beim Würfel aufsammeln haben will, mit dem einzigen unterschied, dass das Objekt NICHT deaktiviert wird und Punkte abgezogen, statt dazugezählt werden.
Ich bin verwirrt, hoffe aber, dass es ein paar clevere Leute gibt die gerade überlegen lächelnd leicht ihren Kopf schütteln und sich meiner erbarmen, mich bei der Hand nehmen und mir die Welt erklären.
Vielen Dank schon mal
KomischerLappen :)