Jython HomeDruckenJava-Online

Das Spielfenster


Die wichtigsten Klassen der Klassenbibliothek JGameGrid sind GameGrid und Actor. Mit Hilfe von GameGrid wird das Spielfenster erzeugt. Alle Figuren und Objekte, die im Spielfenster erscheinen, sind Actors.

Das Spielfenster ist als Gitter aufgebaut und besteht also aus einer bestimmten Anzahl von horizontalen und vertikalen quadratischen Zellen. Die Zellengrösse und die Anzahl der Zellen in horizontaler und vertikaler Richtung sind frei wählbar. Für bestimmte Anwendungen sind grössere Zellen geeignet (Gittergames), andere Anwendungen verwenden vorteilhaft nur 1 Pixel grosse Zellen (Pixelgames). Zur Positionierung innerhalb des Grafikfensters werden die Zellenkoordinaten verwendet.

Die Grösse und das Erscheinungsbild des Spielfenster wird durch Wahl der Parameter beim Erzeugen des Spielfensters festgelegt. Die drei ersten Parameter (Anzahl horizontalen Zellen, Anzahl vertikalen Zellen und Zellengrösse), sind meistens erforderlich, die weiteren Parameter (Farbe der Gitterlinien, Hintergrundbild, Anzeige des Navigationsbalken) können weggelassen werden.

 

makeGameGrid(10, 10, 60, Color.red) erzeugt ein Spielfenster mit 10 horizontalen und 10 vertikalen Zellen, Zellengrössen 60 Pixel und roten Gitterlinien. Das 600x600 Pixel grosse Grafikfenster erscheint nach Aufruf der Methode show(). Der Navigationsbalken mit den Schaltflächen Step, Run, Reset und einem Schieberegler ist in diesem Beispiel noch ohne Wirkung.


# Gg1.py

from gamegrid import *

makeGameGrid(10, 10, 60, Color.red)
# makeGameGrid(10, 10, 60, Color.red, "sprites/reef.gif")
# makeGameGrid(10, 10, 60, Color.red, "sprites/reef.gif", False)
# makeGameGrid(600, 600, 1, None, "sprites/town.jpg", False)
show()    
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

 

Erklärungen zum Programmcode:

from gamegrid import * importiert die Klassenbibliothek JGameGrid
makeGameGrid() erzeugt ein Spielfenster. Mit makeGameGrid() stehen alle Methoden der Klasse GameGrid als globale Funktionen zur Verfügung.
show() zeigt das Spielfenster an

makeGameGrid() kann noch weitere Parameter haben. Durch Aktivierung der auskommentierten Programmzeilen im Programmcode kann man weitere Spielfenster erzeugen:

makeGameGrid(20, 20, 30, Color.green))   makeGameGrid(10, 10, 60, Color.red,  "sprites/reef.gif")
Fenster mit 20x20 Zellen (30 Pixel gross), grüne Gitterlinien   Fenster mit einem Hintergrundbild. reef.gif ist 601x601 Pixel gross


 

     
     
makeGameGrid(10, 10, 60Color.red"sprites/reef.gif", False)   makeGameGrid(600, 600, 1, None, "sprites/town.jpg", False)
Der Parameter False bewirkt, dass der Navigationsbalken nicht angezeigt wird.   Fenster mit 1-Pixel-Auflösung, ohne Gitterlinien (Parameter None) und ohne Navigationsbalken.

 

 

Beachte:

Alle Hintergrundbilder, die in unserer Lernumgebung verwendet werden, sind in der Distribution tigerjython2.jar enthalten. Man kann selbstverständlich auch eigene Bilder verwenden. Diese müssen im Unterverzeichnis sprites des Verzeichnisses, in dem sich Ihr Programm befindet, oder im <user home>\gamegrid\sprites gespeichert sein. Die Grösse der Hintergrundbilder muss mit der Grösse des Spielfensters übereinstimmen. Die Hintergrundbilder in unseren Beispielen sind 601x601 Pixel gross.

Angenommen die Datei tigerjython.jar ist auf Ihrer Festplatte im Verzeichnis myJython und Ihr eigenes Hintergrundbild xyz.gif im Unterverzeichnis sprites gespeichert. Dann erhält makeGameGrid() folgende Parameter:

makeGameGrid(10, 10, 60, Color.red,  "sprites/xyz.gif")