|
Página 1 de 1
|
[ 2 Mensagens ] |
|
[TUTORIAL] AndEngine - Compilando os exemplos
| Autor |
Mensagem |
|
jonathanrz
Anatomy of an App
Data de registro: 28 Jan 2012, 18:23 Mensagens: 161 Localização: Blumenau/SC
|
 [TUTORIAL] AndEngine - Compilando os exemplos
A AndEngine é uma engine para jogos Android, open-source, está publicada no code.google.com e no github. Existem vários exemplos, fiz este tutorial usando o exemplo de Sprite, mas pode ser alterado para qualquer outro exemplo. Usarei o eclipse como IDE, se você usa alguma outra IDE, deverá saber como fazer os mesmos procedimentos na IDE, são todos procedimentos básicos, usar outra IDE não te impedirá de acompanhar o tutorial. Iniciando: Crie um projeto no Eclipse, nome: HelloAndEngine. A AndEngine é compatível com o Android 1.6, então selecione o 1.6(API 4). Package: example.android.andengine Precisaremos da biblioteca compilada, então baixe a AndEngine.jar neste link: http://wiki.andengine.org/AndEngine_JarsCrie um diretório lib no projeto e coloque a AndEngine.jar nele. Clique com o botão direito sobre a AndEngine.jar e selecione BuildPath->Add to build path Agora substitua o código da HelloAndEngineActivity.jar por este: package example.android.andengine;
import org.anddev.andengine.engine.Engine; import org.anddev.andengine.engine.camera.Camera; import org.anddev.andengine.engine.options.EngineOptions; import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation; import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy; import org.anddev.andengine.entity.scene.Scene; import org.anddev.andengine.entity.scene.background.ColorBackground; import org.anddev.andengine.entity.sprite.Sprite; import org.anddev.andengine.entity.util.FPSLogger; import org.anddev.andengine.opengl.texture.TextureOptions; import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas; import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory; import org.anddev.andengine.opengl.texture.region.TextureRegion; import org.anddev.andengine.ui.activity.BaseGameActivity;
/** * (c) 2010 Nicolas Gramlich * (c) 2011 Zynga * * @author Nicolas Gramlich * @since 11:54:51 - 03.04.2010 */ public class HelloAndEngineActivity extends BaseGameActivity { // =========================================================== // Constants // ===========================================================
private static final int CAMERA_WIDTH = 720; private static final int CAMERA_HEIGHT = 480;
// =========================================================== // Fields // ===========================================================
private Camera mCamera; private BitmapTextureAtlas mBitmapTextureAtlas; private TextureRegion mFaceTextureRegion;
// =========================================================== // Constructors // ===========================================================
// =========================================================== // Getter & Setter // ===========================================================
// =========================================================== // Methods for/from SuperClass/Interfaces // ===========================================================
@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() { this.mBitmapTextureAtlas = new BitmapTextureAtlas(32, 32, TextureOptions.BILINEAR_PREMULTIPLYALPHA); BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/"); this.mFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapTextureAtlas, this, "face_box.png", 0, 0);
this.mEngine.getTextureManager().loadTexture(this.mBitmapTextureAtlas); }
@Override public Scene onLoadScene() { this.mEngine.registerUpdateHandler(new FPSLogger());
final Scene scene = new Scene(); scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
/* Calculate the coordinates for the face, so its centered on the camera. */ final int centerX = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth()) / 2; final int centerY = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight()) / 2;
/* Create the face and add it to the scene. */ final Sprite face = new Sprite(centerX, centerY, this.mFaceTextureRegion); scene.attachChild(face);
return scene; }
@Override public void onLoadComplete() {
}
// =========================================================== // Methods // ===========================================================
// =========================================================== // Inner and Anonymous Classes // =========================================================== } Na função LoadResource é lido o png "face_box.png" do assests, precisamos baixa-lo. Ele esta disponível aqui: http://andengineexamples.googlecode.com ... ce_box.pngCrie um pasta chamada gfx dentro da pasta assets do projeto e cole o png nela. Para rodar, a AndEngine precisa de uma permissão especial, então abra o AndroidManifest.xml, mude para a visão de xml Adicione a linha: <uses-permission android:name="android.permission.WAKE_LOCK"/> Após a linha: android:versionName="1.0" > Pronto, agora é só rodar sua aplicação. Deverá ver o face_box.png no meio da tela com um fundo azul. Considerações: Agradecimentos ao AlexSCJava por ter me falado da biblioteca. Site da biblioteca: http://www.andengine.orgUtilizei este vídeo como exemplo: http://www.youtube.com/watch?v=q-genimutmQAqui estão todos os exemplos da biblioteca: http://code.google.com/p/andengineexamples/
_________________ Jonathan Rafael Zanella Motorola Defy - Gingerbread(2.3.5) Samsung Galaxy Nexus - Jelly Bean(4.2.2)
Programador C++ e Android profissionalmente.
Campanha: Facilite sua vida e a dos outros usuários Objetivo: Gerêncie o ciclo de vida do seu tópico: criação, respostas, solução, agradecimentos e [RESOLVIDO] no título do primeiro post.
|
| 01 Fev 2012, 14:24 |
|
 |
|
AlexSCJava
What is ADT?
Data de registro: 22 Out 2011, 20:31 Mensagens: 24
|
 Re: [TUTORIAL]AndEngine - Compilando os exemplos
Caríssimo Jonathan,
De nada, é um prazer compartilhar o conhecimento!!! Testei o seu código e ele está funcionando perfeitamente! O tutorial está muito bem explicado!!!
Parabéns!!!
|
| 02 Fev 2012, 19:02 |
|
|
|
Página 1 de 1
|
[ 2 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: agtavares, alansousa, alexandrepom, Alexandrercarvalho, andi, Antonio Carlos, Ask Jeeves, berchielli, Biggs Darklighter, BOMBER27, brazucx, brenda, brpiassa, brunogh, brunomalka, BrunoO, Carlos, carlosavasconcelos, cehills, celiapinheiro, cesao, Chewbacca, claudio, czambroni, dalmeidabr, Diego, dreyer, edlinux, edwarvelarde, eloilton, emersonbarros, erikopa, eusobacana, fabielp, fabric01, FelipeOliveira, fracon, gapler, gedoor, geeks, Gnomo, Guilherme Cobain, gusrp, gutem25, HAMSES, henrique.garcia, hopper.frf, igor_meneguzzo, ismaels, italoraony, jijo, jorgecardoso, jzaires, klassmann, Knut, Legiao, leo, lisbao, lufreitas, luiz.lago, luizcyber, m4v0, Machado000, Marlosm, mvoto, nandokanarski, niloleite, nilsgome, nivea, nobrejack, nullPointer, obitow, Odigooogle™, otium, pabarbosa, paulanegreiros, paulo.esantos, pchofard, pererinha, pfsmorigo, pomarolli, Princesa Léia Organa, R2-D2, Rafael Felix, raragao, rguadagnini, ricdigital, rlecheta, rmendes, roberto caceres, Rodrigo, rogerio.alcantara, rogeriokta, ronamore, rtodao, Shmi Skywalker, Snappy [Bot], snonca, tonholis, Topeca, tricx16, valaszek, VIEIRIX, Wenceslau, Wendel Carvalho, YaCy, Yuri, zenden1503 e 2 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|