Game-Apps für Smartphones und Tablets |
|
Bern University oh Teacher Education |
JGameGrid (Java SE) | JDroidLib (Android) |
Package kann fehlen | Package mit mindestens einem Punkt nötig |
Importiert wird: ch.aplu.jgamegrid.* | Importiert wird: ch.aplu.android.* |
Colors sind Objekte der Klasse java.awt.Color, Standard-Farbwerte können gross- oder kleingeschrieben werden, eine RGB-Farbe wird mit new Color(int r, int g, int b) erzeugt | Colors sind Integer, Standard-Farbwerte müssen grossgeschrieben werden, eine RGB-Farbe wird mit Color.rgb(int r, int g, int b) erzeugt |
Maus wird mit GGMouse beschrieben | Touch wird mit GGTouch beschrieben |
Es gibt eine rechte und linke Maustaste, Konstanten lPress, rPress, usw. | Es gibt nur einen Touchtyp, Konstanten press, longPress, usw. |
Mausevent Callback heisst mouseEvent(GGMouse mouse), folglich Bezüge auf mouse, z.B. mouse.getX(), usw. | Touchevent Callback heisst touchEvent(GGTouch touch), folglich Bezüge auf touch, z.B. touch.getX(), usw. |
Registrieren eines GGMouseListener mit addMouseListener() | Registrieren eines GGTouchListener mit addTouchListener |
Parameter der Konstruktoren von GameGrid unterschiedlich | Parameter der Konstruktoren von GameGrid unterschiedlich |
Applikationsklasse wird meist aus GameGrid abgeleitet. Im Konstruktor können alle Methoden von GameGrid verwendet werden | App-Klasse wird immer aus GameGrid abgeleitet. Im Konstruktor ist das Display-System noch nicht vollständig initialisiert. Im Konstruktor meist nur Aufruf von super(). Alle anderen Aktionen im main() |
Es gehört zum guten Programmdesign, Instanzvariablen bei der Deklaration zu initialisieren | Da das Grafik-System zur Zeit der Deklaration der Instanzvariablen noch nicht vollständig intialisiert ist, müssen GameGrid-bezogene Instanzvariablen, in main() zugewiesen werden |
Anzeige des Grafik-Fensters mit GameGrid.show() | Das Grafik-Fenster ist der ganze Display. Es gibt kein show() |
GameGrid.setTitle() schreibt einen Text in die Titelzeile | GameGrid.setTitle() hat keine Wirkung, durch GameGrid.setStatusText() ersetzen |
GUI-Elemente mit den Swing-Klassen, Grafik mit AWT-Klassen |
Swing und AWT existieren nicht und sind durch Klassen aus dem Android API ersetzt |
Einfache Benützer-Eingaben mit einer JOptionPane | Einfache Benützereingaben mit GGInputDialog oder GameGrid.requestXXX() |
Sprites mit beliebigen Dateinamen | Sprites, die vom Applikations-Package geladen werden, befinden sich im Verzeichnis <projectroot>/res/drawable. Beim Aufruf darf keine Dateiendung angegeben werden. Der Dateiname darf nur kleine Buchstaben, Zahlen und den Underline enthalten. Sprites können auch von der SD Card geladen werden |
Mitteilungen werden oft als Titelzeile mit setTitle(), mit GGTextField, TextActor oder in einer separaten StatusBar ausgegeben | Mitteilungen werden mit showToast(), einem TextActor oder GGTextField ausgeben. Es gibt keine StatusBar |
Applikationen brauchen nicht signiert zu werden | Apps müssen immer signiert sein. Bei Verwendung des ProjectManagers wird mit dem Debug-Key des Entwicklungsrechners signiert. Diesen event. durch einen eigenen, mit keystore erzeugten Key ersetzen. Verschieden signierte App können nicht überschrieben (ersetzt) werden, sondern man muss die App zuerst deinstallieren |