Game-Apps für Smartphones und Tablets

Pädagogische Hochschule Bern  
HomeOnline-Editor startenDruckenAndroid-TurtlegrafikJava-Online

Das Spielfenster

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

Die Klasse GameGrid stellt ein Grafikfenster zur Verfügung. Das Fenster ist als Gitter aufgebaut, besteht also aus einer bestimmten Anzahl horizontalen und vertikalen quadratischen Zellen. Die Zellengrösse und die Anzahl der Zellen in horizontalen und vertikalen Richtung ist frei wählbar. Für bestimmte Anwendungen sind relativ grosse Zellen geeignet (Gittergames), andere Anwendungen verwenden vorteilhaft nur 1 Pixel grosse Zellen (Pixelgames). Zur Positionierung innerhalb des Grafikfensters werden die Zellenkoordinaten verwendet.

In den meisten Beispielen wird die Applikationsklasse mit extends GameGrid aus der Klasse GameGrid abgeleitet. Damit stehen alle Methoden der Klasse GameGrid unmittelbar zur Verfügung.

 

Das Spielfenster wird mit super() im Konstruktor initialisiert.

super(8, 8, 50, RED) erzeugt ein Fenster mit 8 vertikalen und 8 Hirizontalen Zellen mit der Zellengrösse 50 Pixel und roten Gitterlinien.

Wählt man anstelle einer fixen Zellengrösse der Parameter 0
super(8, 8, 0, RED)
so erhält man die grösstmögliche Fenstergrösse auf dem aktuellen Android-Gerät. Dies ist insbesondere vorteilhaft, wenn die Apps sowohl auf Smartphones als auch auf Tablets verwendet werden.

Im folgenden Beispiel wird die Standardvorlage MyAndroid.java

Beispiel im Online-Editor bearbeiten

App installieren auf Smartphone oder Tablet

Sources downloaden (MyAndroid.zip)

// MyAndroid.java

package app.myandroid;

import ch.aplu.android.*;

public class MyAndroid extends GameGrid
{
  public MyAndroid()
  {
    super(8, 8, 0, RED);
  }

  public void main()
  {
    
  }
}
 
Erklärungen zum Programmcode:
package app.myandroid Package gibt die Unterverzeichnisse an, in welchen die Applikation gespeichert wird. Diese Angabe ist bei den Android-Apps notwendig
public class MyAndroid extends GameGrid Die Applikationsklasse wird aus der Klasse GameGrid abgeleitet und erbt dadurch alle (nicht privaten Methoden) dieser Klasse
super(8, 8, 0, RED) Initialisiert ein Grafikfenster mit 8 horizontalen und 8 vertikalen Zellen.
Die Gitterlinien sind rot. Die Grundfarben (RED, BLUE, YELLOW, GREEN, WHITE, MAGENTA, PINK, GRAY, CYAN, BLACK) können direkt verwendet werden (import android.graphics.*)

 

Fenster mit einem Hintergrundbild:

  super( 10, 10, 40, RED,  "reef");

Bei der Initialisierung des Grafikfensters kann ein Hintergrundbild hinzugefügt werden (z.Bsp. reef). Die Bilder können im gif, png oder jpg-Format gespeichert sein. Bei 10 Zellen der Grösse 40 Pixel, muss das Bild sollte das Bild 400x400 Pixel gross sein. Nachteil der fixen Zellengrösse: Spielfenster, die für Smartphones optimal sind, erscheinen auf den Tablets oft zu klein.

 

   

 

Zellengrösse 0
  Das Hintergrundbild skalieren

  super(10, 10, 0, RED, false);



 
  super(10, 10, cellZoom(40), RED, false);

Wenn man anstelle der Zellengrösse den Parameter 0 wählt, wird das Gitter auf Vollbild eingestellt. Die Hintergrund-Bildgrösse bleibt aber unverändert.
Der Parameter false deaktiviert die Navigation..
  Bei Fenstern mit einem Hintergundbild empfiehlt sich den cellZoom() zu verwenden. Die Methode cellZoom() Skaliert das Hintergrundbild und auch alle Spritebilder, die man als Spielfiguren verwendet.

Beispiel im Online-Editor bearbeiten

Einige Hintergrundbilder sind auf dem Webserver gespeichert (siehe Bilderbibliothek), es können aber auch eigene Bilder verwendet werden (mehr...).