SlideShare uma empresa Scribd logo
1 de 124
Baixar para ler offline
Criando meu 1º game com
Android
by Daniel Baccin
DESAFIO: Palestrar sobre jogos!
DESAFIO: Palestrar sobre jogos!
Felipe Torres
DESAFIO: Palestrar sobre jogos!
CHALLENGE ACCEPTED
IMAGE: MASHABLE, WILL FENSTERMAKER
IMAGE: MASHABLE, WILL FENSTERMAKER
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.
com/apk/res/android"
package="br.com.kenuiapps.jumper" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
…
</application>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.
com/apk/res/android"
package="br.com.kenuiapps.jumper" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
…
</application>
AndroidManifest.xml
<application
…
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
…
</application>
AndroidManifest.xml
<application
…
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
…
</application>
AndroidManifest.xml
<ListView/>
<TextView/><ImageView/>
<SurfaceView/>
<ListView/>
<TextView/><ImageView/>
<SurfaceView/>
public class Game extends SurfaceView{
/*
* Aqui implemetamos a mecânica do jogo
*/
}
public class MainActivity extends Activity {
Game game;
@Override
protected void onCreate(Bundle savedInstanceState) {
…
setContentView(R.layout.activity_main);
FrameLayout container = (FrameLayout) findViewById(R.id.container);
game = new Game(this);
container.addView(game);
}
public class MainActivity extends Activity {
Game game;
@Override
protected void onCreate(Bundle savedInstanceState) {
…
setContentView(R.layout.activity_main);
FrameLayout container = (FrameLayout) findViewById(R.id.container);
game = new Game(this);
container.addView(game);
}
<FrameLayout xmlns:android="http://schemas.android.
com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container"/>
activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.
com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container"/>
activity_main.xml
public class MainActivity extends Activity {
Game game;
@Override
protected void onCreate(Bundle savedInstanceState) {
…
setContentView(R.layout.activity_main);
FrameLayout container = (FrameLayout) findViewById(R.id.container);
game = new Game(this);
container.addView(game);
}
Loop Principal
● Pontuação
● nº de vidas
● nível ● se bateu em algo
● inimigos
public class Game extends SurfaceView
implements Runnable {
/*
* Thread separada da principal !!!
*/
}
public class Game extends SurfaceView
implements Runnable {
...
@Override
public void run() {
while (isRunning){
...
}
}
@Override
public void run() {
while (isRunning){
/*
* desenhar os componentes
*/
}
}
@Override
public void run() {
while (isRunning){
Canvas canvas = holder.lockCanvas();
/*
* desenhar os componentes
*/
holder.unlockCanvasAndPost(canvas);
}
}
Canvas
Canvas
Background
PássaroCanos
PontuaçãoGame over
Background
PássaroCanos
PontuaçãoGame over
private Bitmap background;
public Game(Context mainActivity) {
super(mainActivity);
tela = new Tela(mainActivity);
Bitmap back = BitmapFactory.decodeResource(
getResources(),
R.drawable.background);
background = Bitmap.createScaledBitmap(
back,
tela.getLargura(),
tela.getAltura(),
false);
}
private Bitmap background;
public Game(Context mainActivity) {
super(mainActivity);
tela = new Tela(mainActivity);
Bitmap back = BitmapFactory.decodeResource(
getResources(),
R.drawable.background);
background = Bitmap.createScaledBitmap(
back,
tela.getLargura(),
tela.getAltura(),
false);
}
private Bitmap background;
public Game(Context mainActivity) {
super(mainActivity);
tela = new Tela(mainActivity);
Bitmap back = BitmapFactory.decodeResource(
getResources(),
R.drawable.background);
background = Bitmap.createScaledBitmap(
back,
tela.getLargura(),
tela.getAltura(),
false);
}
private Bitmap background;
public Game(Context mainActivity) {
super(mainActivity);
tela = new Tela(mainActivity);
Bitmap back = BitmapFactory.decodeResource(
getResources(),
R.drawable.background);
background = Bitmap.createScaledBitmap(
back,
tela.getLargura(),
tela.getAltura(),
false);
}
private Bitmap background;
public Game(Context mainActivity) {
super(mainActivity);
tela = new Tela(mainActivity);
Bitmap back = BitmapFactory.decodeResource(
getResources(),
R.drawable.background);
background = Bitmap.createScaledBitmap(
back,
tela.getLargura(),
tela.getAltura(),
false);
}
private Bitmap background;
public Game(Context mainActivity) {
super(mainActivity);
tela = new Tela(mainActivity);
Bitmap back = BitmapFactory.decodeResource(
getResources(),
R.drawable.background);
background = Bitmap.createScaledBitmap(
back,
tela.getLargura(),
tela.getAltura(),
false);
}
public class Tela {
private final DisplayMetrics metrics;
public Tela(Context context) {
WindowManager windowsManage =
(WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display defaultDisplay = windowsManage.getDefaultDisplay();
metrics = new DisplayMetrics();
defaultDisplay.getMetrics(metrics);
}
public int getAltura(){
return metrics.heightPixels;
}
public int getLargura() {
return metrics.widthPixels;
}
}
public class Tela {
private final DisplayMetrics metrics;
public Tela(Context context) {
WindowManager windowsManage =
(WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display defaultDisplay = windowsManage.getDefaultDisplay();
metrics = new DisplayMetrics();
defaultDisplay.getMetrics(metrics);
}
public int getAltura(){
return metrics.heightPixels;
}
public int getLargura() {
return metrics.widthPixels;
}
}
public class Tela {
private final DisplayMetrics metrics;
public Tela(Context context) {
WindowManager windowsManage =
(WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display defaultDisplay = windowsManage.getDefaultDisplay();
metrics = new DisplayMetrics();
defaultDisplay.getMetrics(metrics);
}
public int getAltura(){
return metrics.heightPixels;
}
public int getLargura() {
return metrics.widthPixels;
}
}
public class Tela {
private final DisplayMetrics metrics;
public Tela(Context context) {
WindowManager windowsManage =
(WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display defaultDisplay = windowsManage.getDefaultDisplay();
metrics = new DisplayMetrics();
defaultDisplay.getMetrics(metrics);
}
public int getAltura(){
return metrics.heightPixels;
}
public int getLargura() {
return metrics.widthPixels;
}
}
@Override
public void run() {
while (isRunning){
Canvas canvas = holder.lockCanvas();
canvas.drawBitmap(background, 0, 0, null);
holder.unlockCanvasAndPost(canvas);
}
}
Background
PássaroCanos
PontuaçãoGame over
@Override
public void run() {
while (isRunning){
Canvas canvas = holder.lockCanvas();
canvas.drawBitmap(background, 0, 0, null);
passaro.desenhaNo(canvas);
holder.unlockCanvasAndPost(canvas);
}
}
public class Passaro {
public void desenhaNo(Canvas canvas){
canvas.drawCircle(x, y, RAIO, COR);
}
}
public class Passaro {
public void desenhaNo(Canvas canvas){
canvas.drawCircle(x, y, RAIO, COR);
}
}
X
Y
(0,0)
Background
Pássaro
-cai()
Canos
PontuaçãoGame over
@Override
public void run() {
while (isRunning){
Canvas canvas = holder.lockCanvas();
canvas.drawBitmap(background, 0, 0, null);
passaro.desenhaNo(canvas);
passaro.cai();
holder.unlockCanvasAndPost(canvas);
}
X
Y
(0,0)
public class Passaro {
...
public void cai() {
y += 5;
}
}
Background
Pássaro
-cai()
-pula()
Canos
PontuaçãoGame over
public class Game extends SurfaceView
implements Runnable, OnTouchListener
{
/*
* Agora podemos capturar toques na tela
*/
}
public class Game extends SurfaceView implements
Runnable, OnTouchListener
{
...
@Override
public boolean onTouch(View v, MotionEvent event) {
passaro.pula();
return false;
}
...
}
public class Game extends SurfaceView implements
Runnable, OnTouchListener
{
...
@Override
public boolean onTouch(View v, MotionEvent event) {
passaro.pula();
return false;
}
...
}
public class Passaro {
...
public void pula() {
y -= 150;
}
}
Background
Pássaro
-cai()
-pula()
Canos
PontuaçãoGame over
@Override
public void run() {
while (isRunnig){
Canvas canvas = holder.lockCanvas();
canvas.drawBitmap(background, 0, 0, null);
passaro.desenhaNo(canvas);
passaro.cai();
canos.desenhaNo(canvas);
holder.unlockCanvasAndPost(canvas);
public class Cano {
public void desenhaNo(Canvas canvas){
canvas.drawRect(x1, y1, x2, y2, COR);
}
}
public class Cano {
public void desenhaNo(Canvas canvas){
canvas.drawRect(x1, y1, x2, y2, COR);
}
}
(x1, y1)
public class Cano {
public void desenhaNo(Canvas canvas){
canvas.drawRect(x1, y1, x2, y2, COR);
}
}
(x1, y1)
(x2, y2)
public class Cano {
public void desenhaNo(Canvas canvas){
canvas.drawRect(x1, y1, x2, y2, COR);
}
}
(x1, y1)
(x2, y2)
Background
Pássaro
-cai()
-pula()
Canos
-move()
PontuaçãoGame over
@Override
public void run() {
while (isRunnig){
Canvas canvas = holder.lockCanvas();
canvas.drawBitmap(background, 0, 0, null);
passaro.desenhaNo(canvas);
passaro.cai();
canos.desenhaNo(canvas);
canos.move();
holder.unlockCanvasAndPost(canvas);
}
}
public class Cano {
...
public void move(){
posicao -= 5;
}
}
Background
Pássaro
-cai()
-pula()
Canos
-move()
Pontuação
Game over
Background
Pássaro
-cai()
-pula()
Canos
-move()
Pontuação
-aumenta()
Game over
pontuacao.aumenta();
public class Pontuacao {
private int pontos = 0;
public void aumenta() {
pontos++;
}
...
}
public class Pontuacao {
private int pontos = 0;
public void aumenta() {
pontos++;
}
...
}
@Override
public void run() {
while (isRunnig){
Canvas canvas = holder.lockCanvas();
...
pontuacao.desenhaNo(canvas);
...
holder.unlockCanvasAndPost(canvas);
}
}
public class Pontuacao {
…
public void desenhaNo(Canvas canvas) {
canvas.drawText(String.valueOf(pontos), 100, 100, BRANCO);
}
}
Background
Pássaro
-cai()
-pula()
Canos
-move()
Pontuação
-aumenta()
Game over
Background
Pássaro
-cai()
-pula()
Canos
-move()
Pontuação
-aumenta()
Game over
-temColisao()
temColisao()
temColisao()
temColisao! horizontal!
temColisao! vertical!
Se distância do centro do circulo até o
retangulo
for Igual ao Raio
Se distância do centro do circulo até o
retangulo
for menor que o Raio
public class VerificadorDeColisao {
private Passaro passaro;
private List<Cano> canos;
...
}
public boolean temColisao() {
for (Cano cano: canos){
if(cano.temColisaoHorizontal(passaro)
|| cano.temColisaoVertical(passaro)){
return true;
}
}
return false;
}
@Override
public void run() {
while (isRunning){
Canvas canvas = holder.lockCanvas();
...
if(verificadorDeColisao.temColisao()){
gameOver.desenhaNo(canvas);
isRunning = false;
}
holder.unlockCanvasAndPost(canvas);
}
}
@Override
public void run() {
while (isRunning){
Canvas canvas = holder.lockCanvas();
...
if(verificadorDeColisao.temColisao()){
gameOver.desenhaNo(canvas);
isRunning = false;
}
holder.unlockCanvasAndPost(canvas);
}
}
Background
Pássaro
-cai()
-pula()
Canos
-move()
Pontuação
-aumenta()
Game over
-temColisao()
Sprites
Sprites
public class Passaro {
public void desenhaNo(Canvas canvas){
canvas.drawCircle(x, y, RAIO, COR);
}
}
public class Passaro {
public void desenhaNo(Canvas canvas){
Bitmap bp = BitmapFactory.decodeResource(context.getResources(), R.drawable.passaro);
passaro = bp.createScaledBitmap(bp, RAIO, false);
canvas.drawBitmap(passaro, RAIO, altura, null);
}
}
public class Passaro {
public void desenhaNo(Canvas canvas){
Bitmap bp = BitmapFactory.decodeResource(context.getResources(), R.drawable.passaro);
passaro = bp.createScaledBitmap(bp, RAIO, false);
canvas.drawBitmap(passaro, RAIO, altura, null);
}
}
public class Cano {
public void desenhaNo(Canvas canvas){
Bitmap bp = BitmapFactory.decodeResource(context.getResources(), R.drawable.cano);
cano = Bitmap.createScaledBitmap(bp, LARGURA, alturaDoCano, false);
canvas.drawBitmap(cano, posicao, alturaDoCano, null);
}
}
public class Cano {
public void desenhaNo(Canvas canvas){
Bitmap bp = BitmapFactory.decodeResource(context.getResources(), R.drawable.cano);
cano = Bitmap.createScaledBitmap(bp, LARGURA, alturaDoCano, false);
canvas.drawBitmap(cano, posicao, alturaDoCano, null);
}
}
public class Passaro {
public void desenhaNo(Canvas canvas){
Bitmap bp = BitmapFactory.decodeResource(context.getResources(), R.drawable.joao);
passaro = bp.createScaledBitmap(bp, RAIO, false);
canvas.drawBitmap(passaro, RAIO, altura, null);
}
}
Referências
● http://www.casadocodigo.com.br/products/livro-games-android
● http://gamedev.stackexchange.com/questions/89/2d-gaming-libraries-
frameworks-engines-for-android
● http://www.tecmundo.com.br/video-game-e-jogos/79428-mercado-games-
mobile-bater-us-45-bi-2018-ultrapassar-consoles.htm
● http://mashable.com/2014/03/20/flappy-bird-launch-again/#jEraRnXf4qqQ
Oportunidades
rh@casamagalhaes.com.br
https://github.com/danielbaccin/jumper
http://pt.slideshare.net/baccin
daniel.baccin@gmail.com

Mais conteúdo relacionado

Mais procurados

Fractal proj report 2
Fractal proj report 2Fractal proj report 2
Fractal proj report 2rpiitcbme
 
Crush Candy with DukeScript
Crush Candy with DukeScriptCrush Candy with DukeScript
Crush Candy with DukeScriptAnton Epple
 
Introduction to Game Programming Tutorial
Introduction to Game Programming TutorialIntroduction to Game Programming Tutorial
Introduction to Game Programming TutorialRichard Jones
 
Scala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarmScala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarmTzofia Shiftan
 
Top 10 php classic traps confoo
Top 10 php classic traps confooTop 10 php classic traps confoo
Top 10 php classic traps confooDamien Seguy
 
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | NewsDirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | Newsdizzyspiral5631
 

Mais procurados (7)

Fractal proj report 2
Fractal proj report 2Fractal proj report 2
Fractal proj report 2
 
Crush Candy with DukeScript
Crush Candy with DukeScriptCrush Candy with DukeScript
Crush Candy with DukeScript
 
Introduction to Game Programming Tutorial
Introduction to Game Programming TutorialIntroduction to Game Programming Tutorial
Introduction to Game Programming Tutorial
 
mobl
moblmobl
mobl
 
Scala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarmScala Under the Hood / ScalaSwarm
Scala Under the Hood / ScalaSwarm
 
Top 10 php classic traps confoo
Top 10 php classic traps confooTop 10 php classic traps confoo
Top 10 php classic traps confoo
 
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | NewsDirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
 

Destaque

Al7 ma19tepa0009 sequence-03
Al7 ma19tepa0009 sequence-03Al7 ma19tepa0009 sequence-03
Al7 ma19tepa0009 sequence-03tarek1961moussa
 
Android game development
Android game developmentAndroid game development
Android game developmentmilandinic
 
Build your first android mobile app
Build your first android mobile appBuild your first android mobile app
Build your first android mobile appekipaco
 
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPadCoder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPadDavid MEKERSA
 
Before starting android game development
Before starting android game developmentBefore starting android game development
Before starting android game developmentBeing Programmer
 
Produit scalaire sur un R-ev
Produit scalaire sur un R-evProduit scalaire sur un R-ev
Produit scalaire sur un R-evAchraf Ourti
 
S4 cours chap2 - produit scalaire-orthogonalité
S4 cours  chap2 - produit scalaire-orthogonalitéS4 cours  chap2 - produit scalaire-orthogonalité
S4 cours chap2 - produit scalaire-orthogonalitéTanger Outlets
 
Introduction to android (and mobile) game development
Introduction to android (and mobile) game developmentIntroduction to android (and mobile) game development
Introduction to android (and mobile) game developmentRuslan Novikov
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
Initiation Android Niveau Débutant
Initiation Android Niveau DébutantInitiation Android Niveau Débutant
Initiation Android Niveau DébutantNadim GOUIA
 
Android game development
Android game developmentAndroid game development
Android game developmentOlivia2590
 
A. Attou Commande scalaire MAS
A. Attou  Commande scalaire MASA. Attou  Commande scalaire MAS
A. Attou Commande scalaire MASAttou
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studioParinita03
 
In01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesIn01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesYann Caron
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentBenny Skogberg
 

Destaque (20)

Al7 ma19tepa0009 sequence-03
Al7 ma19tepa0009 sequence-03Al7 ma19tepa0009 sequence-03
Al7 ma19tepa0009 sequence-03
 
Développement des jeux vidéo Mobile
Développement des jeux vidéo MobileDéveloppement des jeux vidéo Mobile
Développement des jeux vidéo Mobile
 
Android game development
Android game developmentAndroid game development
Android game development
 
Build your first android mobile app
Build your first android mobile appBuild your first android mobile app
Build your first android mobile app
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
Android 1
Android 1Android 1
Android 1
 
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPadCoder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad
 
Before starting android game development
Before starting android game developmentBefore starting android game development
Before starting android game development
 
Produit scalaire sur un R-ev
Produit scalaire sur un R-evProduit scalaire sur un R-ev
Produit scalaire sur un R-ev
 
S4 cours chap2 - produit scalaire-orthogonalité
S4 cours  chap2 - produit scalaire-orthogonalitéS4 cours  chap2 - produit scalaire-orthogonalité
S4 cours chap2 - produit scalaire-orthogonalité
 
Introduction to android (and mobile) game development
Introduction to android (and mobile) game developmentIntroduction to android (and mobile) game development
Introduction to android (and mobile) game development
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Initiation Android Niveau Débutant
Initiation Android Niveau DébutantInitiation Android Niveau Débutant
Initiation Android Niveau Débutant
 
Android game development
Android game developmentAndroid game development
Android game development
 
A. Attou Commande scalaire MAS
A. Attou  Commande scalaire MASA. Attou  Commande scalaire MAS
A. Attou Commande scalaire MAS
 
Android studio 2.0
Android studio 2.0Android studio 2.0
Android studio 2.0
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
 
In01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesIn01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancées
 
Android studio
Android studioAndroid studio
Android studio
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 

Semelhante a Criando meu 1º game com android

I wanted to change the cloudsrectangles into an actuall image it do.pdf
I wanted to change the cloudsrectangles into an actuall image it do.pdfI wanted to change the cloudsrectangles into an actuall image it do.pdf
I wanted to change the cloudsrectangles into an actuall image it do.pdffeelinggifts
 
Android Studio (Java)The SimplePaint app (full code given below).docx
Android Studio (Java)The SimplePaint app (full code given below).docxAndroid Studio (Java)The SimplePaint app (full code given below).docx
Android Studio (Java)The SimplePaint app (full code given below).docxamrit47
 
Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Alfredo Morresi
 
HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?Ankara JUG
 
Creating Games for Asha - platform
Creating Games for Asha - platformCreating Games for Asha - platform
Creating Games for Asha - platformJussi Pohjolainen
 
YQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userYQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userTom Croucher
 
(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...
(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...
(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...Amazon Web Services
 
JavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeJavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeLaurence Svekis ✔
 
The Canvas API for Rubyists
The Canvas API for RubyistsThe Canvas API for Rubyists
The Canvas API for Rubyistsdeanhudson
 
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...DroidConTLV
 
Asynchronous Programming at Netflix
Asynchronous Programming at NetflixAsynchronous Programming at Netflix
Asynchronous Programming at NetflixC4Media
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript IntroductionDmitry Sheiko
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesMichael Galpin
 
Please help!!I wanted to know how to add a high score to this prog.pdf
Please help!!I wanted to know how to add a high score to this prog.pdfPlease help!!I wanted to know how to add a high score to this prog.pdf
Please help!!I wanted to know how to add a high score to this prog.pdfJUSTSTYLISH3B2MOHALI
 

Semelhante a Criando meu 1º game com android (20)

Android workshop
Android workshopAndroid workshop
Android workshop
 
I wanted to change the cloudsrectangles into an actuall image it do.pdf
I wanted to change the cloudsrectangles into an actuall image it do.pdfI wanted to change the cloudsrectangles into an actuall image it do.pdf
I wanted to change the cloudsrectangles into an actuall image it do.pdf
 
Android Studio (Java)The SimplePaint app (full code given below).docx
Android Studio (Java)The SimplePaint app (full code given below).docxAndroid Studio (Java)The SimplePaint app (full code given below).docx
Android Studio (Java)The SimplePaint app (full code given below).docx
 
A More Flash Like Web?
A More Flash Like Web?A More Flash Like Web?
A More Flash Like Web?
 
Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)
 
MIDP: Game API
MIDP: Game APIMIDP: Game API
MIDP: Game API
 
HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?
 
Creating Games for Asha - platform
Creating Games for Asha - platformCreating Games for Asha - platform
Creating Games for Asha - platform
 
YQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to userYQL and YUI - Javascript from server to user
YQL and YUI - Javascript from server to user
 
(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...
(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...
(AFF301) Fire Phone: The Dynamic Perspective API, Under the Hood | AWS re:Inv...
 
JavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeJavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your code
 
The Canvas API for Rubyists
The Canvas API for RubyistsThe Canvas API for Rubyists
The Canvas API for Rubyists
 
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
Tricks to Making a Realtime SurfaceView Actually Perform in Realtime - Maarte...
 
Asynchronous Programming at Netflix
Asynchronous Programming at NetflixAsynchronous Programming at Netflix
Asynchronous Programming at Netflix
 
YQL Tutorial
YQL TutorialYQL Tutorial
YQL Tutorial
 
Android 3
Android 3Android 3
Android 3
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript Introduction
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
Prototype UI Intro
Prototype UI IntroPrototype UI Intro
Prototype UI Intro
 
Please help!!I wanted to know how to add a high score to this prog.pdf
Please help!!I wanted to know how to add a high score to this prog.pdfPlease help!!I wanted to know how to add a high score to this prog.pdf
Please help!!I wanted to know how to add a high score to this prog.pdf
 

Último

Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 

Último (9)

Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 

Criando meu 1º game com android