Unity Spiel Script funktioniert nicht vollständig?
Hallo,
Ich bin Momentan dabei mein erstes kleines 2D Spiel bei Unity zu programmieren, doch ich habe ein kleines Problem bei dem ich nicht weiter komme.
Ich habe eine Healthbar( Lebensanzeige) erstellt, der Spieler soll drei Leben haben, jedesmal wenn seine Leben bei null stehen soll sich ein Panel aktivieren, auf diesem Panel steht dann "GAME OVER" und man hat die Möglichkeit das Spiel Neu zu Starten oder zurück ins Menü zu gehen.
Mein Problem ist jetzt das die Leben runter gehen aber wenn sie bei null sind ist der Spieler immernoch da und das Panel aktiviert sich nicht. Ich habe auch eingebaut, dass wenn man von der Map fällt, man ein unsichtbares Objekt berührt, dies triggert und man dann sofort stirbt, dies hat funktioniert, der Spieler ist verschwunden und das Panel mit "GAME OVER" hat sich aktiviert, es funktioniert nur nicht bei einem richtigen Gegner, weil das soll das Leben bei jeder Berührung um -1 sinken und bei null soll er sterben und das Panel soll sich aktivieren.
Könnte mir da eventuell jemand weiterhelfen?
1 Antwort
das ist der Nachteil, wenn man versucht den zweiten Schritt vor dem Ersten zu machen.
Ich sehe hier ständig irgendwelche Leute, welche von sich behaupten ein Spiel "programmiert" zu haben (oder andere Sachen, welche ihren Fähigkeiten weit überschreiten). Der Knackpunkt ist sie schreiben irgendwas ab, ohne die Grundlagen verstanden zu haben.
Ich mache Dir keine Vorwürfe. Irgendwann wird Dir irgendein Noob suggeriert haben, das man den ganzen "banalen" Anfängerkram einfach weglassen kann und direkt sein hochtrabenden Visionen bezüglich eines Spiels umsetzen kann.
So einfach ist es nicht.
Was Deinen Code angeht, erwartest Du, das wenn currentHealth 0 (oder kleiner ist , die entsprechenden Maßnahmen ausgelöst werden.
in Deinem Code steht jedoch:
if (currentHealth >= 0) ....
sollte es nicht so herum sein?: kleiner gleich 0 ?
if (currentHealth <= 0) ....
Ich kenne nicht die Eigenschaften/Methoden Deiner Objekte, folglich weiß ich auch nicht wodurch other.gameObject.Tag ="Kill" gesetzt wird. Insofern kann ich auch nicht feststellen ob überhaupt jemals die Methode TakeDemage aufgerufen wird. Das ist Dein Code und Du musst wissen, wie sich welche Properties verhalten.
Vielleicht solltest Du bevor Du Dich in Code verhedderst, welcher 3 Nummern zu groß für dich ist, ersmal zurück in die Grundschule des Programmierens.
Jeder lernt anders. W3Schools ist eher interaktiv und etwas für Leute, welche gern mit konkreten Beispielen experimentieren.
Tutorialsteacher arbeitet ebenfalls mit Beispielen in einer Experimentalumgebung ist jedoch um einiges komplexer.
Das openbook von Rheinwerk ist die Entsprechung eines gedruckten Buches. Diese bezieht sich auf den Stand von 2012. Auch wenn das nicht ganz taufrisch ist, so hat sich zum aktuellen Stand nichts wesentliches an der Funktionalität von C# und .Net geändert. Der Vorteil liegt in der deutschsprachigen Aufbereitung.
Was für Dich der bequemste Weg ist kannst Du nur selbst entscheiden.
Es gibt auch noch andere Tutorials im Netz.
Von Youtube und anderen Videos kann ich nur abraten. Dergleichen ist passive "Kost" und so schnell wieder vergessen, wie man es sich angesehen hat.
Ich selbst bin eher jemand der auf neuen Gebieten herumexperimentiert und lerne mit den Händen.
"Was man selbst geschrieben hat, bleibt am festesten im Gehirn verankert"
Hey, danke ich bin momentan auch dabei mir die Grundlagen zu erlernen. Das mit dem < ,> hat aber auch nicht funktioniert.
Von den vier Links, welches davon würdest du mir am meisten empfehlen, bzw. Mit welchem sollte ich anfangen?