Chapter 3. Create a Chess
~~~~~~~~~~~~~~~~~~~~~~~
Das Erstellen einer Spielfiguren wird in zwei Abschnitte unterteilt: Das optische Erstellen und der logische Teile der Figur. Das Erstellen erfolgt über das Einfügen der png - Datei.
Wie die Kachel (tile) wird die Spielfigur (chess) per Drag & Drop eingefügt.
Die Größe von chess muss auf 64 x 64 angepasst werden
Wenn die Figur im Layout eingefügt ist wir das Event 1 wie unten beschrieben erweitert.
Eine Spielfigur wird jetzt auf einem teile erzeugt Position 5 / 4 / 1
Bitte beachten:
Event 4 ist hier ein „Child-Event“ von Event 4. Die Aktion creat chess darf nicht mit der Aktion create Objekt verwechselt werden. Great Objekt erzeugt lediglich eine Darstellung von chess ohne den logischen Teil von create chess
Die Spielfigur (chess) ist aufgeteilt in einen logischen Teil und einen sichtbaren Teil (Image). Um im Spiel den chess zu bewegen, müssen der logische Teil und der sichtbare Teil zusammen bewegt werden. Nicht vergessen, die Plugins arbeiten Grundsätzlich nur mit dem Zusammenspiel des logischen Teil und des Images.
Chapter 4. Moving a Chess
~~~~~~~~~~~~~~~~~~~~~~~~
Bevor wir weitermachen erstellen wir eine Debug-Console um anzuzeigen, was auf dem Board passiert. Hierfür erzeugen wir ein Textobjekt und nennen es txt_debug. Wir setzen das Text-Objekt in die obere linke Ecke des Fensters und vergrößern das Feld über die gesamte Fensterfläche.
Jetzt erweitern wir das Event1 um folgende Textzeilen:
Mit Hilfe der Debug-Group wird die logische Position (x,y) von chess angezeigt. Im Event9 wird mit Board Pick chess at Logic x,y überprüft über welcher Kachel sich die Spielfigur chess befindet. Wenn sich der chess über einer Kachel befindet (TRUE) wir der Begriff „chess“ zu txt_debug hinzugefügt. Wenn nicht (FALSE) wird der Text „none“ hinzugefügt.
Siehe Event10.
Kommen wir nun zur Steuerung der Spielfigur „chess“. Hierfür fügen wir zunächsKeyboard-Objekt ein.
Im Event1 nehmen wir jetzt folgende Änderungen vor:
Die in Event1 eingefügten Destroy Aktionen zerstören lediglich die Spielfigur außerhalb des Layouts. Die Events 11 - 14 sorgen für die Bewegung der Spielfigur. Jedoch sind diese Befehle für die vollständigen Bordinformationen nicht ausreichend.
Hier ist der Fehler. Die Bewegungen von chess tauchen nicht im debug-Text auf. Die Position der Spielfigur verändert sich, jedoch bleibt der Text immer gleich. Fazit: Die logische Position auf dem Board wird nicht erfasst.
Um diese Informationen an Board weiterzugeben, setzen wir vor die physikalische Bewegung von chess eine
Board - Move chess to xy Aktion. Durch diese Aktion wird der logische chess an eine festgelegte Position (x,y) bewegt. Mit dem Befehl Board.PXY2LX() / Board.PXY2LY() wandelt man die sichtbare Position in die logische Position um.
Wenn das Layout startet ist das Bild unten gesetzt. Wie man sehen kann, befindet sich chess an einer physikalischen Position (420, 288). Jedoch ist die logische Position von chess (5,4) (Bild oben), wie man im Event4 sehen kann. Die Anweisung Board.PXY2LX() / Board.PXY2LY() übernimmt die Übertragung der beiden Positionen für uns.