Game-Apps für Smartphones und Tablets |
|
Bern University oh Teacher Education |
Alle Figuren und Gegenstände , die im Spielfenster erscheinen, werden als Objekte aufgefasst und mit Klassen, die von der Klasse Actor abgeleitet sind, beschrieben. Dadurch lässt sich bereits bei den ersten Programmbeispielen das OOP-Konzept vorbildlich realisieren. Jedem Actor ist ein Sprite-Bild zugeordnet. Der Dateiname des Bildes wird im Konstruktor des Actors angegeben. (Einem Actor können auch mehrere Bilder zugeordnet werden). | ![]() |
Das Grundkonzept besteht darin, den Actors ein dynamisches "Eigenleben" zu geben. Sobald die Schaltlfläche Run gedrückt wird, startet ein Simulationszyklus, in dem die Methode act() periodisch aufgerufen wird. Die Simulationsperiode kann mit dem Lautstärkeregler vom Smartphone verändert werden. In jedem Simulationszyklus wird auch der Hintergrund neu aufgebaut. Dadurch lassen sich Animationen auf einfache Art realisieren (dieses elegante Konzept wurde von Greenfoot übernommen). |
Beispiel 1: Der Actor nemo bewegt sich horizontal von Zelle zur Zelle. Wenn er sich in einer Randzelle befindet, dreht er um und schwimmt zurück.
|
![]() |
Erklärungen zum Programmcode:
class Fish extends Actor | Die Klasse Fish wird von der Klasse Actor abgeleitet und erbt dadurch alle (nicht privaten Methoden) dieser Klasse |
public Fish() { super("nemo"); } |
Im Konstruktor der Klasse Fish wird der Dateiname des zugehöriges Sprite-Bildes angegeben |
act() | In der Methode act() wird deklariert, was der Actor tun soll |
move() | Verschiebt den Actor in die benachbarte Zelle. Bei der Erzeugung des Actors erhält dieser die Standardrichtung 0° (gegen Osten) |
Fish nemo = new Fish() | Erzeugt ein Objekt nemo der Klasse Fish. Da Fish von der Klasse Actor abgeleitet ist, ist nemo ein Actor |
addActor(nemo, new Location (1 , 1)) | Der Actor wird zum GameGrid hinzugefügt und erscheint an der angegebenen Position. In einem 10x10 Gitter kann x und y die Werte 0 bis 9 annehmen. Das Actor-Bild wird zentriert in den Zellen positioniert und kann auch über die Zellengrenzen herausragen |
doRun() | Die Methode doRun() starten den Simulationszyklus |
![]() |
Die meisten Smartphones verfügen über die Bedienungstasten HOME, MENU, BACK und den Lautstärkeregler. Die Smartphonetasten sind wie folgt belegt:
|