seeseekey.net - Invictus Deus Ex Machina

Bei AndEngine handelt es sich um eine Gameengine für Androidgeräte. Die Apps für diese Plattform werden ja bekanntlich in Java geschrieben. Und darum soll es hier auch gehen. Im ersten Schritt wird Eclipse aufgesetzt und anschließend nehmen wir die AndEngine in Betrieb. Im ersten Schritt muss also das Paket eclipse installiert werden. Danach sollte das Android SDK für Linux unter http://developer.android.com/sdk/index.html heruntergeladen werden und auf der Festplatte entpackt werden. Dann geht es in den Ordner tools des SDKs und dort wird dann

./android update sdk 

ausgeführt. Nun bestätigt man die Lizenz und installiert die verschiedenen SDK Versionen. Dies kann dabei einige Minuten dauern.

Nun kann man Eclipse starten. Beim ersten Start erscheint ein Begrüßungsbildschirm den man schließen kann. Danach sollte man unter Help -> Install new Software die Android Development Tools installieren. Dazu wird in dem sich öffnenden Dialog die URL http://dl-ssl.google.com/android/eclipse/ eingegeben und durch einen Druck auf den Add… Button hinzugefügt. Dann klicken wir die Checkbox Developer Tools an und betätigen die Installation mit dem Next… Button. Mittels eines Assistenten wird man nun durch die Installation geleitet. Nachdem die Installation beendet ist empfiehlt Eclipse einen Neustart der Umgebung. Diesem sollte Wunsch sollte man Folge leisten.

Nun benötigt Eclipse die Information wo das Android SDK sich auf der Festplatte befindet. Dazu geht man auf Window -> Preferences -> Android. Dort wählt man den Pfad des Android SDKs aus und bestätigt den Dialog mit OK.

Die grundlegende Konfigurationsarbeit ist damit geleistet. Nun kann mit dem ersten Projekt begonnen werden. Dazu gehen wir auf File -> New -> Project und wählen dort Android Project aus und klicken dann auf Next. In dem darauf folgenden Dialog geben wir dem Projekt einen Namen z.B. Hello World. Im Feld Package Name geben wir den Namen des Package an z.B. net.seeseekey.hello_world und bei Activity name z.B. FormMain und bei Application name z.B. Hello World und bestätigen das ganze mit dem Finish Button.

Danach wird automatisch das Grundgerüst für eine Android Applikation erzeugt. Sollte es beim Erzeugen der Anwendung der Fehler

Project ‘RuntimeAndroid’ is missing required source folder ‘gen’
The project cannot be built until build errors are resolved 

auftreten so hilft es die R.java Datei zu löschen. Sie wird danach automatisch neu erzeugt. Wenn wir nun auf den grünen Play Knopf (Run) in der Symbolleiste klicken so startet Eclipse das Programm im Android Emulator. Beim ersten Start sollte allerdings ein Dialog erscheinen welcher einem anbietet ein virtuelles Gerät für den Emulator anzulegen. Nachdem dies geschehen ist, wird das Hello World Programm im Emulator geladen und ausgeführt. Und schon ist das erste Hello World Programm geschrieben und die Funktionsfähigkeit der IDE getestet.

Nun geht es an die AndEngine. Erst einmal holen wir uns den Sourcecodes mittels hg (Mercurial) auf die Festplatte:

hg clone https://andengine.googlecode.com/hg/ andengine
hg clone https://andengineexamples.googlecode.com/hg/ andengineexamples 

Anschließend importieren wir das andengineexamples Projekt (File -> Import…) in den Workspace. In dem Projekt AndEngineExamples sind dabei viele Beispiele zur Anwendung der Engine zu finden.

Nun nehmen wir unser bereits angelegtes Hello World Projekt und erzeugen in diesem (mittels New -> Folder) einen Ordner namens lib. In diesen kopieren wir die andengine.jar aus dem AndEngine Examples Projekt. Nun klicken wir mit der rechten Maustaste auf die andengine.jar und wählen dort Build Path -> Add To Build Path… aus. Damit ist die Bibliothek referenziert. Nun gehen wir in unsere Activity, in diesem Fall FormMain und löschen dort alles bis auf die packages Zeile. Nun fügen wir dort folgenden Quelltext ein:

public class FormMain extends BaseGameActivity {
	// Konstanten
	private static final int CAMERA_WIDTH = 720;
	private static final int CAMERA_HEIGHT = 480;

	// Variablen
	private Camera mCamera;

	@Override
	public Engine onLoadEngine() {
		this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
		return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));
	}

	@Override
	public void onLoadResources() {
	}

	@Override
	public Scene onLoadScene() {
		this.mEngine.registerUpdateHandler(new FPSLogger());

		final Scene scene = new Scene(1);
		scene.setBackground(new ColorBackground(0, 0, 0.8784f));

		return scene;
	}

	@Override
	public void onLoadComplete() {

	}
}

Anschließend werden mittels Strg + Shift + O alle benötigten Importe in die Datei eingefügt. Wichtig ist es jetzt noch dem Manifest folgende Zeile hinzuzufügen:

<uses-permission android:name="android.permission.WAKE_LOCK"/>

Nun kann man das ganze im Emulator starten. Es dürfte ein blauer Bildschirm angezeigt werden. Nun kann man sich damit beginnen das ganze mit Leben zu erfüllen 🙂

Weitere Informationen gibt es unter:
http://www.andengine.org/
http://code.google.com/p/andengine/
http://code.google.com/p/andengineexamples/
http://developer.android.com/sdk/installing.html
http://www.andengine.org/forums/tutorials/getting-started-updated-t2198.html
http://www.andengine.org/forums/tutorials/andengine-core-terminology-t316.html
http://www.andengine.org/forums/tutorials/getting-started-with-andengine-t11.html
http://www.andengine.org/forums/tutorials/eclipse-andengine-and-helloworld-t380.html
http://www.andengine.org/forums/tutorials/mimminito-s-tutorial-list-t417.html

3 Kommentare

  1. Das Paket eclipse aus den Ubuntu repositories sollte man vielleicht nicht gerade installieren da es zu Problemen führen kann. Empfohlen wird Eclipse von http://eclipse.org runterzuladen.

    Antworten

  2. Bei mir funktioniert das Paket ohne Probleme.

    Antworten

  3. Eventuell ist es nötig im Projekt selbst und im AndEngine Projekt den Java Kompiler manuell auf Version 1.6 zu setzen.

    Properties->Java Compiler->Enable Project specific settings

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.