Anfänger Guide für Construct 3

6

Index

Stats

10,754 visits, 26,798 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 29 Jan, 2022. Last updated 17 Dec, 2022

INSTANZVARIABLEN VERWENDEN

Instanzvariablen ermöglichen es jedem Monster, seinen eigenen Gesundheitswert zu speichern. Eine Variable ist einfach ein Wert der sich ändern (oder variieren) kann, und sie werden für jede Instanz separat gespeichert, daher der Name Instanzvariable.

Fügen wir unserem Monster eine Gesundheits-Instanzvariable hinzu. Dies funktioniert ähnlich wie das Hinzufügen eines Verhaltens. Klicke auf das Monster in der Projektleiste. Alternativ kannst du über die Reiter oben zurück ins Layout wechseln und ein Monster-Objekt auswählen. Dadurch werden die Eigenschaften des Monsters in der Eigenschaftenleiste angezeigt. Klicke auf Instanzvariablen, um das Dialogfeld Instanzvariablen zu öffnen.

Du kannst einem Objekt beliebig viele Instanzvariablen hinzufügen, aber wir brauchen nur eine für das Monster. Klicke auf Füge neue Instanzvariable hinzu. Zum Hinzufügen einer Instanzvariablen erscheint folgender Dialog.

Gib Health als Namen ein, belasse Typ als Nummer, und gebe als Anfangswert 5 ein (wie gezeigt). Dies startet jedes Monster mit 5 Gesundheit. Wenn sie getroffen werden ziehen wir 1 von der Gesundheit ab, und wenn die Gesundheit null ist zerstören wir das Objekt.

Wenn du fertig bist, klicke auf OK. Beachte, dass die Variable jetzt im Instanzvariablen-Dialog und auch in den Eigenschaften für das Monster erscheint. Du kannst Anfangswerte schnell in der Eigenschaftenleiste ändern, aber um Variablen hinzuzufügen oder zu entfernen, musst du das Dialogfeld Instanzvariablen öffnen. Beachte auch, dass für jedes Objekt im Layout auch eindeutige Instanzvariablen-Werte festgelegt werden können, sodass du beispielsweise jedes Monster mit einer anderen Menge an Gesundheit starten können.

ÄNDERN DER EVENTS

Wechsle zurück zum Eventblatt. Im Moment zerstören wir Monster, sobald die Kugel sie trifft. Ändern wir das, um stattdessen 1 von seiner Gesundheit abzuziehen.

Suche das Event mit der Aufschrift Bullet: In Kollision mit Monster. Beachte, dass wir eine Aktion „Monster zerstören“ haben. Lass uns das durch "Subtrahiere 1 von health" ersetzen. Klicke mit der rechten Maustaste auf die Aktion "Monster Zerstören" und Klicke auf Ersetze Aktion.

Es erscheint das gleiche Dialogfeld wie beim Einfügen einer neuen Aktion, aber dieses Mal ersetzt es stattdessen die Aktion, auf die wir geklickt haben. Wähle MonsterSubtrahiere von (in der Kategorie Instanzvariablen), wähle die Instanzvariable „health“ und gebe 1 als Wert ein. Klicke auf Fertig. Das Event sollte nun so aussehen:

Wenn wir jetzt auf Monster schiessen, verlieren sie 1 Gesundheit und die Kugel explodiert, aber wir haben kein Event erstellt um Monster zu töten, wenn ihre Gesundheit null erreicht. füge ein weiteres Event hinzu:

Bedingung: MonsterVergleiche Instanzvariablehealth,kleiner oder gleich,0

Aktion: MonsterErzeuge anderes ObjektExplosion

Aktion: MonsterZerstören

Warum „kleiner oder gleich 0“ statt „gleich 0“? Angenommen wir haben eine weitere stärkere Waffe hinzugefügt die 2 von der Gesundheit abzieht. Wenn du auf ein Monster hast, würde seine Gesundheit fallen auf 5, 3, 1, -1, -3... Beachte, dass seine Gesundheit zu keinem Zeitpunkt direkt gleich Null war, also würde es niemals sterben! Daher ist es eine gute Praxis, „weniger oder gleich“ zu verwenden, um zu testen, ob die Gesundheit von etwas abgelaufen ist.

Führe das Spiel aus. Du musst Monster jetzt fünf Mal treffen um sie zu töten!

Disabled Comments have been disabled by the owner.