Desenvolviment o de Jogos games Aula 1 androi d
Desenvolvimento de Jogos
gamesAula 1
android
Bem vindo a Start Games Android
Desenvolvimento de Jogos para Celulares e Tablets em Android
Introdução ao Desenvolvimento de Jogos em Android
Implementando Física em Jogos com Android
Disponibilizando o Jogo para o Mundo
Interatividade nos Jogos
Montando o seu Jogo de Sucesso em AndroidO C
urs
o
‘Se o Google fizer tudo certo, haverá um
Android em cada bolso’ Eric Schmidt ex-CEO da Google Inc
HistóriaFundada em 2003 em Palo Alto a empresa Android Inc.Dois anos depois adquirida pelo Google.Atualmente possui uma vasta comunidade de programadores, com milhões de Apps.
1.5: Cupcake (Abril de 2009)
1.6: Donut (Setembro de 2009)
2.1: Eclair (Janeiro de 2010)
2.2: FroYo (Frozen Yogourt - Maio de 2010) 2.3-2.4: Gingerbread (versão atual em dezembro de 2010)
3.0-3.2: Honeycomb (Lançada para tablets em Janeiro de 2011)
4.0: Ice Cream Sandwich (Anunciada em 19 de outubro de 2011)
HistóriaFundada em 2003 em Palo Alto a empresa Android Inc.Dois anos depois adquirida pelo Google.Atualmente possui uma vasta comunidade de programadores, com milhões de Apps.
1.5: Cupcake (Abril de 2009)
1.6: Donut (Setembro de 2009)
2.1: Eclair (Janeiro de 2010)
2.2: FroYo (Frozen Yogourt - Maio de 2010) 2.3-2.4: Gingerbread (versão atual em dezembro de 2010)
3.0-3.2: Honeycomb (Lançada para tablets em Janeiro de 2011)
4.0: Ice Cream Sandwich (Anunciada em 19 de outubro de 2011)
Google Play
play.google.com
Ferramentas: SDK
Developers.google.com
inkscapeFerramentas: InkScape
www.inkscape.org
inkscapeFerramentas: TiledMap Editor
www.mapeditor.org
Ferramentas: FontStruct
www.fontstruct.com
andEngine"Um dos melhores jogos AndEngine!"PRINCIPAIS CARACTERÍSTICAS:
178 níveisdesafiadores!✓Diferentes tipos de 7bugs!✓
Atenção: extremamenteviciante!✓ gráficos delicioso eengraçado.✓ Mais cenários eníveis em breve!✓
Alimentado por AndEngine - andengine.orgOtimizado XPERIA PLAY.Torne-se fã de aranhas Greedy no Facebookhttp://facebook.greedyspiders.com
Hora de programar
Exemplo 1 – em www.grupoalves.net/startAndroidArquivos
Programando...
package com.aula1;
+ import .... (bibliotecas)
public class MainActivity extends BaseGameActivity{
//Definição do tamanho da tela
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
private Camera mCamera;//o membro para definir os detalhes da tela
private BitmapTextureAtlas mBitmapTextureAtlas;//o bitmap que receberá o Sprite
private TextureRegion mFaceTextureRegion;//o Sprite em si.
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));
}
Programando...
public void onLoadResources() {
//Cria um Bitmap de 32x32 2D, caso tenha pego algum Sprite diferente, altere para os detalhes do seu Sprite
//this.mBitmapTextureAtlas = new BitmapTextureAtlas(32, 32, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
this.mBitmapTextureAtlas = new BitmapTextureAtlas(128, 128, TextureOptions.NEAREST_PREMULTIPLYALPHA);
//Seta para buscar o Sprite do gfx dentro da Assets
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
//Le o Sprite “start_box.png”
//this.mFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapTextureAtlas, this, “start_box.png", 0, 0);
this.mEngine.getTextureManager().loadTexture(this.mBitmapTextureAtlas);
//createSpriteSpawnTimeHandler();
}
Programando...
public Scene onLoadScene() {
this.mEngine.registerUpdateHandler(new FPSLogger());
final Scene scene = new Scene(1);
scene.setBackground(new ColorBackground(0.0f, 0.0f, 0.0f)); //preto
scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f)); //azul claro
//createSprite(scene);
createSpriteSpawnTimeHandler();
scene.setTouchAreaBindingEnabled(true);
return scene;
}
Programando...
@Override
public void onLoadComplete() {
// TODO Auto-generated method stub
}
@SuppressWarnings("unused")
private void createSprite(Scene scene) {
final MySprite sprite = new MySprite(100, 100, this.mFaceTextureRegion);
scene.registerTouchArea(sprite);
scene.attachChild(sprite);
}
private void createSprite(float X, float Y) {
final MySprite sprite = new MySprite(X, Y, this.mFaceTextureRegion);
this.mEngine.getScene().registerTouchArea(sprite);
this.mEngine.getScene().attachChild(sprite);
}
Programando...
private void createSpriteSpawnTimeHandler()
{
//Quantidade de segundos que a função será chamada
final float seconds = 3f;
//registra um Handle para ser chamado a cada intevalo de tempo, passa uma instancia da interface ITimerCallback, implementando o método onTimePassed
this.getEngine().registerUpdateHandler(new TimerHandler(seconds, new ITimerCallback(){
public void onTimePassed(final TimerHandler pTimerHandler){
pTimerHandler.reset(); //aparecer vários na tela habilite aqui
//Gera posições randômicas para gerar o Sprite, usa o fator de ajuste para não criar o Sprite fora da tela
final float fatorDeAjuste = 30f;
final float xPos = MathUtils.random(fatorDeAjuste, (CAMERA_WIDTH - fatorDeAjuste));
final float yPos = MathUtils.random(fatorDeAjuste, (CAMERA_HEIGHT - fatorDeAjuste));
createSprite(xPos, yPos);
}
}));
}
}
Programando...
Exemplo 2 – em www.grupoalves.net/startAndroidArquivos
Programando...
Exemplo Online – em www.grupoalves.net/startAndroidArquivos
Programando...
Meu texto aqui!
gamesAula 2
android
Implementando Física em Jogos com Android
Próxima Aula....