Ver Instalación de AndEngine
1. Abrir Eclipse
2. Crear el proyecto Android
* File > New > Android Application ProjectName: HelloWorld
Package: poner un package cualquiera, por ej com.minombre.android.andengine
Minimum Required SDK: API 8
Target SDK: API 15
Compile With: API 15
Theme: None
* Pulsar "Next >"
Desmarcar "Create custom launcher icon"
Marcar "Create Activity"
Desmarcar "Mark this project as a library"
Desmarcar "Create project in workspace"
Pulsar "Browse..." y elegir un directorio para el proyecto
* Pulsar "Next >"
Marcar "Create Activity"
Seleccionar "BlankActivity"
* Pulsar "Next >"
Activity Name: MainActivity
Layout name: activity_main
Navigation type: None
* Pulsar "Finish"
Activity Name: MainActivity
Layout name: activity_main
Navigation type: None
* Pulsar "Finish"
3. Referenciar la librería AndEngine
Package Explorer
Proyecto Hello World (botón dcho) > Properties > Android
Sección Library: Pulsar "Add..." y añadir la librería AndEngine
Pulsar "OK"
4. Heredar la Activity de SimpleBaseGameActivity
Package Explorer
Abrir MainActivity.java
Extender SimpleBaseGameActivity
Eliminar los métodos onCreate y otros que se hayan generado.
Pulsar sobre la bombilla amarilla a la izda de class > Add unimplemented methods
Se generarán automáticamente los siguientes métodos:
onCreateEngineOptions()
onCreateResources()
onCreateScene()
5. Crear las variables de clase para la cámara:
private Camera camera;
private static final int CAMERA_WIDTH = 800;
private static final int CAMERA_HEIGHT = 480;
6. Implementar el método onCreateEngineOptions:
@Override
public EngineOptions onCreateEngineOptions() {
this.camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions engOptions = new EngineOptions(
true, // full screen
ScreenOrientation.LANDSCAPE_FIXED,
new FillResolutionPolicy(),
this.camera);
engOptions.getAudioOptions().setNeedsSound(true);engOptions.getAudioOptions().setNeedsMusic(true);
return engOptions;
}
Los parámetros de EngineOptions son:
true: indica que la Activity ocupará toda la pantalla, incluida la barra de estado.
LANDSCAPE_FIXED: la pantalla se mostrará en horizontal aunque rote el dispositivo
FillResolutionPolicy: el motor se adapta al tamaño físico de la pantalla. Esto puede suponer que las imágenes se deformen.
7. Implementar el método onCreateScene:
@Override
protected Scene onCreateScene() {
Scene scene = new Scene();
scene.setBackground(new Background(0.098f, 0.62f, 0.66f));
return scene;
}
Scene es una Entity que contiene otras entities como sprites, etc.
8. Implementar onCreateResources
@Override
protected void onCreateResources() {
loadGraphics();
loadFonts();
loadSounds();
loadMusic();
loadMusic();
}
private void loadGraphics() {
}
private void loadFonts() {
}
private void loadSounds() {
}
private void loadMusic() {
}
9. Cargar los gráficos
Crear un folder en assets:
Package Explorer
Directorio "assets"
New > Folder
Folder name: gfx
* Pulsar "Finish"
Copiar una imagen .png en assets/gfx con el explorador de Windows.
Situarse en el package explorer sobre assets y pulsar F5
Crear las variables de clase:
private BitmapTextureAtlas texture;
private ITextureRegion region;
Implementar el método loadGraphics:
private void loadGraphics() {
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
texture = new BitmapTextureAtlas(getTextureManager(), 128, 128, TextureOptions.DEFAULT);
region = BitmapTextureAtlasTextureRegionFactory.createFromAsset(texture, this, "android.png", 0, 0);
texture.load();
// cuando la textura no sea necesaria: texture.unload();
}
10. Cargar las fuentes
Crear un folder en assets:
Package Explorer
Directorio "assets"
New > Folder
Folder name: font
* Pulsar "Finish"
Copiar una fuente .ttf en assets/font con el explorador de Windows (en este enlace hay muchas fuentes ttf para descargar: fuentes )
Situarse en el package explorer sobre assets y pulsar F5
Crear la variables de clase:
private Font font;
Implementar el método loadFonts:
private void loadFonts() {
FontFactory.setAssetBasePath("font/");
final ITexture fTexture = new BitmapTextureAtlas(getTextureManager(), 32, 32, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
font = FontFactory.createFromAsset(getFontManager(), fTexture, getAssets(), "BaroqueScript.ttf", 40, true, Color.BLACK);
font.load();
}
11. Cargar los sonidos
Crear un folder en assets:
Package Explorer
Directorio "assets"
New > Folder
Folder name: mfx
* Pulsar "Finish"
Copiar un sonido .ogg en assets/mfx con el explorador de Windows (se recomienda en formato .ogg porque ocupa mucho menos espacio que mp3 por ejemplo).
Situarse en el package explorer sobre assets y pulsar F5
Crear la variables de clase:
private Sound sound;
Implementar el método loadSounds:
private void loadSounds() {
SoundFactory.setAssetBasePath("mfx/");
try {
this.sound = SoundFactory.createSoundFromAsset(getEngine().getSoundManager(), this, "risa.ogg");
} catch (IOException e) {
Log.e(tag, "loadSounds() " + e.getMessage());
}
}
12. Cargar la música
Copiar una cancion .ogg en assets/mfx con el explorador de Windows (se recomienda en formato .ogg porque ocupa mucho menos espacio que mp3 por ejemplo).
Situarse en el package explorer sobre assets y pulsar F5
Crear la variables de clase:
private Music music;
Implementar el método loadMusic:
private void loadMusic() {
MusicFactory.setAssetBasePath("mfx/");
try {
this.music = MusicFactory.createMusicFromAsset(getEngine().getMusicManager(), this, "pantera_rosa.ogg");
this.music.setLooping(true);
} catch (IOException e) {
Log.e(tag, "loadMusic() " + e.getMessage());
}
}
Amigo una pregunta por que al iniciar mi proyecto ejecuta es el layout y si lo elimino sigue ejecutando el layout por defecto y no el programa en si :o
ResponderEliminar