×
Namespaces

Variants
Actions

Archived:Como desenvolver o jogo brick-breaker em PySymbian - Parte 3

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)


Article Metadata

Artigo
Tradução:
Por ivocalado
Última alteração feita por hamishwillee em 07 May 2013

Contents

Introdução

Finalmente chegamos ao nosso último artigo da série "Como desenvolver o jogo brick-breaker em Python". Se você leu os artigos anteriores desta série, então após finalizar este, estará apto a criar seu próprio jogo Brick-breaker ou similar usando PySymbian.

Neste artigo - Parte 3, nós iremos aprender o código que irá realizar o movimento da bola, inicializar os parâmetros dos tijolos, os parâmetros da barra deslizando e a sequência de chamadas de funções.

Parte 3

Código para movimentação da bola

Aqui nós temos um pequeno código que realiza a movimentação da bola em canvas. Esta bola irá se mover automaticamente.

Deste modo, o código para movimentação da bola é apresentado abaixo:


# import module
import e32,random
import time
import appuifw
import graphics
import math
BLACK=(0,0,0)
GREEN=(0,255,0)
RED=(255,0,0)
running=1
 
#define a função de saída
def quit():
global running
running=0
 
appuifw.app.exit_key_handler=quit
 
#Configura a tela cheia
appuifw.app.screen='large'
 
#Cria uma instância de Canvas e a define como corpo da aplicação
canvas=appuifw.Canvas()
appuifw.app.body=canvas
j,k=canvas.size
 
#define as coordenadas do círculo
x1vel=10
y1vel=10
x1=150
y1=300
speed=15
 
while running:
global x1,y1,x1vel,y1vel
 
if((x1<0) or(x1>j-15)):
x1vel=x1vel*-1
if ((y1<0) or (y1>k-15)):
y1vel=y1vel*-1
x1=x1+x1vel
y1=y1+y1vel
x2=x1+speed
y2=y1+speed
 
#desenhar circulo
canvas.ellipse((x1,y1,x2,y2),outline=None,fill=RED)
 
# Adormece por 0.1
e32.ao_sleep(0.1)
 
#limpar canvas
canvas.clear(BLACK)
e32.ao_yield()

Sequência de chamada de funções

As funções definidas precisam ser invocadas na sequência correta, como apresentado abaixo:

draw_screen()
draw_slider()
draw_bricks()
erase_bricks(12) #Deve ser chamado quando uma colisão for detectada - Veja links relacionados
 
app_lock = e32.Ao_lock()
app_lock.wait()

Capturas de tela

Nesta série de artigos foi abordado o desenvolvimento do jogo em canvas. Abaixo, é apresentada o screeshot do jogo final.

General diagram brickbreaker.JPG BrickBreaker final.JPG

Com isso, concluimos a série de artigos "Como desenvolver o jogo Brick-Breaker". Se você acompanhou toda esta série agora você poderá criar seu próprio jogo.


Links relacionados

This page was last modified on 7 May 2013, at 13:58.
117 page views in the last 30 days.
×