Ver mensagens sem resposta | Ver tópicos ativos Hoje é 20 Jun 2013, 00:39



Responder Tópico  [ 2 Mensagens ] 
 [TUTORIAL] AndEngine - Compilando os exemplos 
Autor Mensagem
Anatomy of an App
Anatomy of an App

Data de registro: 28 Jan 2012, 18:23
Mensagens: 161
Localização: Blumenau/SC
Mensagem [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_Jars

Crie 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.png

Crie 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.org
Utilizei este vídeo como exemplo: http://www.youtube.com/watch?v=q-genimutmQ
Aqui 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
Perfil
What is ADT?
What is ADT?

Data de registro: 22 Out 2011, 20:31
Mensagens: 24
Mensagem 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
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 2 Mensagens ] 

Quem está online

Usuários vendo este fórum: adilson.afl, AdrianoMM, afpcp, alberto, Alex Marcelo Burnett, Alexandre de Queiroz, alexandrepom, Alexandrercarvalho, am2net, amarildolacerdas, Andreid, andrewort, andrigo, Antonio Carlos, Berbert, billsombrio, Bitor, boydivalor, brenda, bruno.abd, btleandro, C-3PO, cabelo, Caique, Carmizini, celiapinheiro, cfranca, Chanceler Supremo Finis Valorum, chunga, CKorneLL, cleber, Clone Trooper, cosmotheoro, Costa, Damiani Oliveira, danielbfranco, David, debal, dkclan, DroidBot, e-azuos, edlinux, elisa, eluttner, emersonalencar, Erik Patekoski, erosvaldo, EvertonLB, Felipe Ferreira, ferrodecaju, flaviocc, Francisco_Geraldo, Gabriel Teófilo, geco, Geovanne Duarte, Governador Wilhuff Tarkin, guilhermepilotti, guilhermesmo, gustavo, HAMSES, HanNiBaLSeTDf, helder, hellbest, Heritrix, humberto, HyagoRules, icarodavi, Igor_M, jacksonst, jacquesbica, jandersonjc, johnnyjx, jrchuteboxe, JRSIQUEIRA, Juliobcosta, JuniorE, jwv, kidush, Knut, leo, Lincoln, linukiss, lisbao, lucasB, luciano.sml, luizcarlosvb, luizcesar, Lúcio Zanette, MARCIOHG, marcos_trb, marcosf63, masf_33, mateusff, memnoch, mlemos, mmfsndroid, nandopierre, navegador, Nidio Dolfini, nsansilva, Odigooogle™, otium, paulabr, paulovaz, pedro, Petto, pingumanbr, pjorge, poponeis, Ranieri, renatocoliveira, rguadagnini, Ricardo Chikasawa, ricardoogliari, rlecheta, rogeriokta, rsl_master, Rubens Prates, schiroky, sergio, SidneiCP, siker C3PO, srmoreira, Synoo [Bot], tChAnDy, the_hulk_knifer, thiago20, thosjanas, tiagoxv, tiasousa, tonylock, Topeca, unnamedd, valaszek, vaniuz, Velhinho, waideman, wender, wil, Wryel, xa:=zin, Yuri, zorieuq e 3 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

Procurar por:

© 2007 - 2013 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi