Games - V1


{

    Dia 2
Introdução



Jogos têm um conceito diferente de uma aplicação
“comum”


Para se criar um jogo, é necessário um motor de
geração de gráficos e comportamentos (engine).
Introdução
     Existem diversas engines para Android
Introdução




             Corona


             jMonkey Engine




                              Cactus2D
AndEngine




Nicholas Gramlich
Criar um jogo não é fácil.

Requer estudo e dedicação.
Primeiro passo: tenha uma idéia e um objetivo

Segundo passo: tenha um amigo Designer Gráfico

Terceiro passo: coloque a mão-na-massa. Bora
programar




http://www.ehow.com.br/jogos-celular-como_7191/
Introdução

                       Conceitos Android

Para se ter uma tela, é necessário ter uma Activity

Para se ter uma Activity, é necessário ter um layout.xml

O layout.xml deve ser declarado no arquivo AndroidManifest.xml
Filme ?
Introdução
       Componentes importantes em um jogo com AndEngine




Camera        Scene (ação)                          Sprite


                                 Rectangle
                       Sprite



                                         Text



              Sprite
Introdução
        Métodos importantes em um jogo com AndEngine




                              Classe
                            SimpleBaseGameActivity


        Luz ...                 onCreateResources()

        Câmera ... onCreateEngineOptions()
        Ação ...                       onCreateScene()
Passo 1 - Objetivo do jogo
3 horas depois ... (já é um começo)
No dia seguinte ...
Oficina Android - Games com AndEngine - Dia 2
Oficina Android - Games com AndEngine - Dia 2
Oficina Android - Games com AndEngine - Dia 2
Fase 1 : elementos principais



                              TrueType Font
                                              LINE

                     Sprite Modifier
                     MoveModifier
     Sprite         RotationModifier
                     JumpModifier



                 Physics Box2D
     TouchArea

    SCENE
... MainActivity extends SimpleBaseGameActivity {

Adicione os métodos:



onCreateEngineOptions() //Camera


onCreateResources() //Luz


onCreateScene() //Ação
... MainActivity extends SimpleBaseGameActivity {

        private int LARGURA = 800;
        private int ALTURA = 480;
        private Scene cena = null;
        private ITextureRegion regiaoBackground = null; private Font fonte =
null;
        private Text txPontuacao = null;
        private int placar = 0;
        private ITextureRegion regiaoMosca = null;
@Override
public EngineOptions onCreateEngineOptions(){

    Camera camera = new Camera(0, 0, LARGURA, ALTURA);

  EngineOptions opcoes = new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED,
         new RatioResolutionPolicy(LARGURA, ALTURA),
     camera);

    opcoes.getAudioOptions().setNeedsSound(true);

    opcoes.setWakeLockOptions(WakeLockOptions.SCREEN_ON);

    return opcoes;
}
Textura é a imagem na memória
Região define um retângulo para a
                                    gráfica. No Android, a largura e
 Textura. É usado para o sistema
                                    altura deve ser em potência de 2
       conhecer os Sprites.
                                              (32, 64, 128 ...)
onCreateResources()



ITexture textura = new BitmapTexture(getTextureManager(),
      new IInputStreamOpener() {
      @Override
      public InputStream open() throws IOException {
           return getAssets().open("gfx/background.png");
      }
});

textura.load(); //#partiu memória

regiaoBackground = TextureRegionFactory.extractFromTexture(textura);




                                                                       BACKGROUND
ITexture textura = new BitmapTextureAtlas(getTextureManager(),256,256);

fonte = FontFactory.createFromAsset(getFontManager(),
           textura,
           getAssets(),
          "font/amsterdam.ttf",
          34f,
          true,
          Color.RED_ARGB_PACKED_INT
);

fonte.load(); //run to memory, Forest !

txPontuacao = new Text(LARGURA-100, 10,
fonte,
"0",
10 ,
getVertexBufferObjectManager());

                                                                          Fonte
BitmapTextureAtlas texturaBitmap = new BitmapTextureAtlas(getTextureManager(),64,64);




texturaBitmap.load(); //astalavista, baby !
                                                                 Aff ... Pra q ?

regiaoMosca = BitmapTextureAtlasTextureRegionFactory.createFromAsset(
      texturaBitmap,
      this,
     "gfx/mosca.png",
     0, 0
);




                                                                                        Mosca
onCreateScene()
cena = new Scene();
Sprite backgroundSprite = new Sprite(0, 0, regiaoBackground, getVertexBufferObjectManager());
cena.attachChild(backgroundSprite);

cena.attachChild(txPontuacao);

Text texto = new Text(10, 10, fonte, ”KillingMoscas", getVertexBufferObjectManager());
cena.attachChild(texto);

Line linha= new Line(
         0, texto.getY() + 40, //Onde começa a linha ? (ponta 1)
     LARGURA, texto.getY() + 40, //Onde termina a linha ? (ponta 2)
     getVertexBufferObjectManager());

linha.setColor(Color.YELLOW);
linha.setLineWidth(12);
cena.attachChild(linha);




                                                                                                Cenário
Introdução



             Continua no código-fonte …

Mais conteúdo relacionado

PPTX
Oficina Android - Games com AndEngine - Dia 3
PPT
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
PDF
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
PPT
PDF
Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios
ODP
Do zero ao jogo multiplataforma com cocos2d
PPT
Apostila de Jogos em Rede com Java
PPT
Criando jogos com python e pygame 3 aula
Oficina Android - Games com AndEngine - Dia 3
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios
Do zero ao jogo multiplataforma com cocos2d
Apostila de Jogos em Rede com Java
Criando jogos com python e pygame 3 aula

Mais procurados (14)

PPTX
Criando jogos com python e pygame 2 aula
PDF
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
PPTX
Passo a passo com o vaca5
KEY
Desenvolvimento iOS
PDF
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
PDF
QtQuick - WSL II
PDF
Desenvolvendo Jogos com pygame.
KEY
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
PDF
Python para quem sabe Python (aula 2)
PDF
Java Script
PDF
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
PDF
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
PDF
Iteraveis e geradores em Python
Criando jogos com python e pygame 2 aula
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Passo a passo com o vaca5
Desenvolvimento iOS
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
QtQuick - WSL II
Desenvolvendo Jogos com pygame.
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Python para quem sabe Python (aula 2)
Java Script
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Iteraveis e geradores em Python
Anúncio

Semelhante a Oficina Android - Games com AndEngine - Dia 2 (20)

PPSX
Júlio Pescuite - Advanced Topics for Game Developers
PPTX
Oficina Android - Games com AndEngine - Dia 1
PPTX
Advanced topics for game developers
PDF
Desenvolvimento de jogos para android com andengine
PPTX
StartGames Android aula 1
PPT
Desenvolvendo games multiplataforma
ODP
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
PPTX
Apresentacao de TCC
PPTX
Playstation Mobile - Campus Party 2013
PPTX
INdT Mobile Labs - Sparta
PDF
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
PDF
Desenvolvimento de jogos para iOS com Cocos2d
PDF
Java ME - Game API
PPTX
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
PPTX
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
PDF
Introdução a game api do java me
PPTX
Introdução ao cocos sharp
PPTX
Criando jogos digitais em java
PPTX
Desenvolvimento de Jogos com Corona SDK
PPTX
[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
Júlio Pescuite - Advanced Topics for Game Developers
Oficina Android - Games com AndEngine - Dia 1
Advanced topics for game developers
Desenvolvimento de jogos para android com andengine
StartGames Android aula 1
Desenvolvendo games multiplataforma
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
Apresentacao de TCC
Playstation Mobile - Campus Party 2013
INdT Mobile Labs - Sparta
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
Desenvolvimento de jogos para iOS com Cocos2d
Java ME - Game API
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Introdução a game api do java me
Introdução ao cocos sharp
Criando jogos digitais em java
Desenvolvimento de Jogos com Corona SDK
[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
Anúncio

Oficina Android - Games com AndEngine - Dia 2

  • 1. Games - V1 { Dia 2
  • 2. Introdução Jogos têm um conceito diferente de uma aplicação “comum” Para se criar um jogo, é necessário um motor de geração de gráficos e comportamentos (engine).
  • 3. Introdução Existem diversas engines para Android
  • 4. Introdução Corona jMonkey Engine Cactus2D
  • 6. Criar um jogo não é fácil. Requer estudo e dedicação.
  • 7. Primeiro passo: tenha uma idéia e um objetivo Segundo passo: tenha um amigo Designer Gráfico Terceiro passo: coloque a mão-na-massa. Bora programar http://www.ehow.com.br/jogos-celular-como_7191/
  • 8. Introdução Conceitos Android Para se ter uma tela, é necessário ter uma Activity Para se ter uma Activity, é necessário ter um layout.xml O layout.xml deve ser declarado no arquivo AndroidManifest.xml
  • 10. Introdução Componentes importantes em um jogo com AndEngine Camera Scene (ação) Sprite Rectangle Sprite Text Sprite
  • 11. Introdução Métodos importantes em um jogo com AndEngine Classe SimpleBaseGameActivity Luz ... onCreateResources() Câmera ... onCreateEngineOptions() Ação ... onCreateScene()
  • 12. Passo 1 - Objetivo do jogo
  • 13. 3 horas depois ... (já é um começo)
  • 18. Fase 1 : elementos principais TrueType Font LINE Sprite Modifier MoveModifier Sprite RotationModifier JumpModifier Physics Box2D TouchArea SCENE
  • 19. ... MainActivity extends SimpleBaseGameActivity { Adicione os métodos: onCreateEngineOptions() //Camera onCreateResources() //Luz onCreateScene() //Ação
  • 20. ... MainActivity extends SimpleBaseGameActivity { private int LARGURA = 800; private int ALTURA = 480; private Scene cena = null; private ITextureRegion regiaoBackground = null; private Font fonte = null; private Text txPontuacao = null; private int placar = 0; private ITextureRegion regiaoMosca = null;
  • 21. @Override public EngineOptions onCreateEngineOptions(){ Camera camera = new Camera(0, 0, LARGURA, ALTURA); EngineOptions opcoes = new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(LARGURA, ALTURA), camera); opcoes.getAudioOptions().setNeedsSound(true); opcoes.setWakeLockOptions(WakeLockOptions.SCREEN_ON); return opcoes; }
  • 22. Textura é a imagem na memória Região define um retângulo para a gráfica. No Android, a largura e Textura. É usado para o sistema altura deve ser em potência de 2 conhecer os Sprites. (32, 64, 128 ...)
  • 23. onCreateResources() ITexture textura = new BitmapTexture(getTextureManager(), new IInputStreamOpener() { @Override public InputStream open() throws IOException { return getAssets().open("gfx/background.png"); } }); textura.load(); //#partiu memória regiaoBackground = TextureRegionFactory.extractFromTexture(textura); BACKGROUND
  • 24. ITexture textura = new BitmapTextureAtlas(getTextureManager(),256,256); fonte = FontFactory.createFromAsset(getFontManager(), textura, getAssets(), "font/amsterdam.ttf", 34f, true, Color.RED_ARGB_PACKED_INT ); fonte.load(); //run to memory, Forest ! txPontuacao = new Text(LARGURA-100, 10, fonte, "0", 10 , getVertexBufferObjectManager()); Fonte
  • 25. BitmapTextureAtlas texturaBitmap = new BitmapTextureAtlas(getTextureManager(),64,64); texturaBitmap.load(); //astalavista, baby ! Aff ... Pra q ? regiaoMosca = BitmapTextureAtlasTextureRegionFactory.createFromAsset( texturaBitmap, this, "gfx/mosca.png", 0, 0 ); Mosca
  • 26. onCreateScene() cena = new Scene(); Sprite backgroundSprite = new Sprite(0, 0, regiaoBackground, getVertexBufferObjectManager()); cena.attachChild(backgroundSprite); cena.attachChild(txPontuacao); Text texto = new Text(10, 10, fonte, ”KillingMoscas", getVertexBufferObjectManager()); cena.attachChild(texto); Line linha= new Line( 0, texto.getY() + 40, //Onde começa a linha ? (ponta 1) LARGURA, texto.getY() + 40, //Onde termina a linha ? (ponta 2) getVertexBufferObjectManager()); linha.setColor(Color.YELLOW); linha.setLineWidth(12); cena.attachChild(linha); Cenário
  • 27. Introdução Continua no código-fonte …