MEHR SPIELLOGIK
Wenn jedes Event so detailliert wie zuvor beschrieben wird, wird es ein ziemlich langes Tutorial. Machen wir die Beschreibung für die nächsten Events etwas kürzer. Denke daran, dass die Schritte zum Hinzufügen einer Bedingung oder Aktion wie folgt sind:
- Doppelklicke, um ein neues Event einzufügen, oder Klicke auf den Link Aktion hinzufügen, um eine Aktion hinzuzufügen.
- Doppelklicke auf das Objekt, in dem sich die Bedingung/Aktion befindet.
- Doppelklicke auf die gewünschte Bedingung/Aktion.
- Gebe ggf. Parameter ein.
Von nun an werden Events als Objekt beschrieben, gefolgt von der Bedingung/Aktion, gefolgt von beliebigen Parametern. Das soeben eingefügte Event könnte beispielsweise so geschrieben werden:
Bedingung hinzufügen System►Jeden Tick
Füge die Aktion Player►Stelle den Winkel zur Position hinzu, und für X: Mouse.X
, Y: Mouse.Y
BRINGE DEN SPIELER ZUM SCHIESSEN
Wenn der Spieler klickt, sollte er ein Projektil abschiessen. Dies kann mit der Aktion Erzeuge anderes Objekt im Player-Objekt erfolgen, die eine neue Instanz eines Objekts an derselben Position und in demselben Winkel erstellt. Die Kugel-Bewegung, die wir zuvor hinzugefügt haben, lässt sie dann nach vorne fliegen. Mache folgendes Event:
Bedingung: Mouse►Beim Klicken►Links geklickt (Standard)
Aktion: Player►Erzeuge anderes Objekt und wähle dann als Objekt das Bullet-Objekt. Belasse die anderen Parameter wie sie sind.
Dein Event sollte nun so aussehen:
Wenn du das Spiel ausführst, kannst du Kugeln schiessen! Möglicherweise kannst jedoch feststellen, dass die Kugeln eher aus der Mitte des Spielers anstatt aus dem Ende der Waffe schiessen. Lass uns das beheben, indem wir einen Bildpunkt am Ende der Waffe platzieren. Ein Bildpunkt ist nur eine Position auf einem Bild, von der aus du Objekte erzeugen kannst, und wir können darauf in der Aktion Erzeuge ein anderes Objekt verweisen.
Klicke mit der rechten Maustaste auf den Player in der Projektleiste und wähle Animationen bearbeiten aus.
Der Bildeditor für den Player wird erneut angezeigt. Klicke auf das Werkzeug für Ursprung und Bildpunkt Bearbeitung:
...und dann verwandelt sich das Seitenfenster in eine Liste von Bildpunkten:
Beachte, dass der Objektursprung in der Liste angezeigt wird. Das ist der „Hotspot“ oder „Drehpunkt“ des Objekts. Wenn du das Objekt drehen, dreht es sich um den Ursprung. Das wird auch dafür verwendet Objekte an Bildpunkt 0 zu erzeugen, wie es unsere Aktion getan hat. Wir möchten einen weiteren Bildpunkt hinzufügen, um die Waffe darzustellen, also Klicke mit der rechten Maustaste in die Liste und wähle Neuen Bildpunkt hinzufügen. Ein neues Element erscheint in der Liste und ein Symbol erscheint über dem Bild, um anzuzeigen, wo sich dieser Bildpunkt befindet. Klicke mit der linken Maustaste auf das Ende der Waffe des Players, um den Bildpunkt dort zu platzieren:
Schliesse den Bildeditor. Doppelklicke auf die Aktion Erzeuge ein Objekt, die wir zuvor hinzugefügt haben, und Ändere den Bildpunkt auf 1. Das Event sollte jetzt wie unten aussehen – Beachte, dass jetzt Bildpunkt 1 angezeigt wird:
Starte die Vorschau des Spiels erneut. Die Kugeln schiessen jetzt aus dem Ende deiner Waffe! Die Kugeln tun jedoch noch nichts. Hoffentlich wirst du jedoch feststellen, dass du die Logik deines Spiels sehr schnell zusammenstellen kannst, sobald du dich mit dem Eventsystem vertraut gemacht hast.
Lassen wir die Kugeln Monster töten. Füge das folgende Event hinzu:
Bedingung: Bullet►In Kollision mit►Monster
Aktion: Monster►Zerstören
Aktion: Bullet►Erzeuge anderes Objekt►Explosion
Aktion: Bullet►Zerstören
So sieht das fertige Event aus.
DER EXPLOSIONSEFFEKT
Schaue dir die Spiel-Vorschau an, und versuche ein Monster zu erschiessen. Ups, die Explosion hat diesen grossen schwarzen Rand!
Vielleicht hast du von Anfang an vorausgesagt, dass es so aussehen würde, und dich gefragt, ob unser Spiel wirklich so enden würde! Keine Sorge, das wird es nicht. Klicke auf das Explosion-Objekt in der Projektleiste. Seine Eigenschaften erscheinen in der Eigenschaftenleiste auf der linken Seite. Stelle im Abschnitt Effekte den Mischmodus auf Additiv ein. Test das Spiel erneut.
Warum funktioniert das? Ohne zu sehr auf die Schrauben und Muttern einzugehen, werden gewöhnliche Bilder oben auf dem Bildschirm eingefügt. Beim additiven Mischmodus wird stattdessen jedes Pixel mit dem Hintergrundpixel dahinter addiert (wie in, summiert). Schwarz ist ein Null-Pixelwert, also wird nichts hinzugefügt – du siehst den schwarzen Hintergrund nicht. Hellere Farben fügen mehr hinzu, erscheinen also stärker. Es eignet sich hervorragend für Explosionen und Lichteffekte.
MONSTER EIN WENIG SCHLAUER MACHEN
Im Moment wandern die Monster einfach nach rechts von der Anlage ab. Machen wir sie etwas interessanter. Zunächst, lass uns sie in einem zufälligen Winkel starten.
Bedingung: System►Beim Start des Layouts
Aktion: Monster►Setze Winkel auf random(360)
Sie werden für immer davonwandern wenn sie das Layout verlassen, um nie wieder gesehen zu werden. Lass sie uns drinnen behalten. Was wir tun ist, sie wieder auf den Spieler zu richten sobald sie das Layout verlassen. Dies bewirkt zweierlei: Sie bleiben immer innerhalb des Layouts, und wenn der Spieler still steht, kommen Monster direkt auf ihn zu!
Bedingung: Monster►Ist außerhalb des Layouts
Aktion: Monster►Setze den Winkel in Richtung X: Player.X
Y: Player.Y
So sehen die beiden fertigen Events aus.
Führe das Spiel aus. Wenn du dich eine Weile geduldest, wirst du feststellen, dass die Monster auch in der Nähe der Anlage bleiben und in alle möglichen Richtungen fliegen. Es ist kaum eine KI, aber es reicht!
Angenommen, wir möchten ein Monster fünfmal erschiesen bevor es stirbt, anstatt es sofort zu töten wie es im Moment der Fall ist. Wie machen wir das? Wenn wir nur einen "Gesundheits"-Zähler hinterlegen, werden alle Monster sterben, sobald wir ein Monster fünfmal getroffen haben. Stattdessen müssen wir uns jedes Monster an seine eigene Gesundheit erinnern. Das können wir mit Instanzvariablen machen.