Usando andEngine desde emacs
Hoy estaba hechando un vistazo a la programación de juegos en android, una librería con buena pinta para hacerlo es AndEngine, los tutoriales que he encontrado para hacerlo son para Eclipse, pero después de intentarlo y acabar un par de veces con un segfault ¡importando un proyecto! toca volver a los clásicos, vamos a ver como hacerlo con emacs.
Instalar android-mode
Partimos de tener android-mode, para
instalarlo habrá que meterlo en el path, si queremos que sea global lo haremos
en /usr/share/emacs/site-lisp/
(para esto harán falta permisos de root), sino
tendremos que añadir el directorio al path con
1 |
|
Después habrá que cargarlo y ajustar el path del SDK de android, en mi caso
está en /home/kenkeiras/.android-sdk/
, así que...
1 2 |
|
Estas cosas se pueden hacer en el buffer *Scratch*
con lo que habría que
repetirlas cada vez que vayamos a usar el plugin, o escribirlas en el
archivo init.el
para que lo haga automáticamente al iniciarse, si quisieramos aplicar los
cambios al instante podríamos hacerlo pulsado C-x C-e
(Control-x, Control-x)
al final de cada línea.
Crear un proyecto
Una vez que tengamos eso instalado habrá que crear un proyecto, para esto
desde emacs haremos M-x android-create-project
(Alt-x android-create-project),
el plugin nos preguntará en que directorio ubicar el proyecto, el nombre que
se asignará al paquete, el de la actividad principal y un target. El target
es la versión de Android
para la que se “compilará” el código, pulsar tabulador dos veces probablemente
hará que muestre las opciones (no se si será cosa de emacs-live).
Y con esto ya tendríamos el proyecto creado, si hicieramos
1 |
|
y
1 |
|
construiría el proyecto y lo transferiría al dispositivo que se encuentre activo, y ya se puede lanzar.
Construyendo AndEngine
Para esto descargamos el proyecto en otro directorio, por ejemplo desde el repositorio
1 |
|
Dentro del directorio creado crearemos un archivo local.properties
con la ubicación del SDK, en mi caso
1 |
|
Hecho esto, se puede construir (teniendo en cuenta que la versión del API por
defecto es la 15,
esto se puede cambiar en project.properties
).
1 |
|
Producirá un archivo classes.jar
en el directorio bin
, que deberá ser
importado en el directorio libs
de nuestro proyecto.
Código de ejemplo
Por último probaremos si funciona con algo tomado de Beggining andengine
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
No es gran cosa, pero funciona
(Sí, es una pantalla en verde :P)