• Like
  • Save
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Upcoming SlideShare
Loading in...5
×
 

Implementação de Aplicações Móveis e Jogos com Python - Aula 6

on

  • 69 views

Implementação de Aplicações Móveis e Jogos com Python

Implementação de Aplicações Móveis e Jogos com Python

Statistics

Views

Total Views
69
Views on SlideShare
69
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Implementação de Aplicações Móveis e Jogos com Python - Aula 6 Implementação de Aplicações Móveis e Jogos com Python - Aula 6 Presentation Transcript

    • Implementação de Aplicações Móveis e Jogos com Python
    • Internet Tablets
    • Internet Tablets
    • Internet Tablets  O que são?  Dispositivos móveis capazes de conectar-se a internet através de redes wireless ou bluetooth (agora também com 3g!)
    • Internet Tablets  O que são?  Dispositivos móveis capazes de conectar-se a internet através de redes wireless ou bluetooth.  Hardware  Tela resolução de 800x480  Processador ARM-Based (330mhz ~ 600mhz)  1GB~128MB Memória RAM  WLAN (bg) e Bluetooth  Telas Sensíveis ao toque  Teclado QWERTY embutido (em alguns)
    • Internet Tablets  Sistemas Operacionais (baseados em Linux)  Maemo  Mamona  Ubuntu (9.04)  Gentoo
    • O OpenEmbedded  O que é?  Build Framework pra embedded Linux  bitbake  Arquivos de metadata
    • Quem usa?  OpenMoko  Idéia de desenvolvimento de celular 100% livre
    • Quem usa?  Ångström  Distribuição mais “madura” do OE  Dispositivos que aceitam essa distro:  Nokia 770 Internet Tablet  HTC Universal / iMate JasJar  Motorola A780  Psion| Teklogix NetBook Pro  Gumstix and Kouchuk-Bars  Beagle Board  Pandora
    • Quem usa?  BeagleBoard ● HW baseado em OMAP3 ● Baixo custo – $ 149 ● Baixo consumo de energia – Máximo 2W ● http://beagleboard.org – Esquema de HW aberto o/
    • Quem usa?  BeagleBoard
    • U-boot: acesso via Minicom sudo apt-get install minicom minicom --setup minicom Quem usa?
    • Quem usa?  Palm Pre  Aposta da Palm em reverter o jogo  WebOS
    • Quem usa?  KaeilOS  Fabricante de Hardware  Suporte Pago
    • Internet Tablets  Projetos e Softwares  Mozilla Fennec (Firefox pra Mobile)  Brisa UPnP  Canola  CarMan  Tapioca Framework  Maemo Community (No Google Summer of Code)
    • Internet Tablets Demo!
    • Off-Topic: Arduino
    • ● O que é? É um projeto de Hardware e Software Livre voltado para artistas, designers, hobbystas ou qualquer um interessado em criar objetos e ambientes interativos. Arduino
    • ● O que é?  Arduino Programming Language (Baseada em Wiring)  Arduino Development Environment (IDE baseada em Processing)  Pode ser feito a mão (Paperduino, Severino, Toscoduino, etc)  Múltiplas derivações  Comunicação fácil  Ciclo de desenvolvimento rápido  Barato! Arduino
    • ● Hardware  Microcontrolador Atmega168  RISC (131 instruções)  24 Mhz  NVM de 16KBytes (2k usados no bootloader)  1KByte de SRAM  Portas AD  UART  6v – 20v (Recomendado 7v a 12v) Arduino
    • ● Software Estrutura Básica ArduinoArduino
    • Arduino ● Ciclo de Desenvolvimento
    • ● Shields Arduino
    • ● Computadores (lado Computador) PySerial Arduino
    • Arduino ● Dispositivos Móveis Pra PyS60 e Bluetooth: lightblue
    • Jogos com Python
    • Jogos com Python
    • PyGame  Criando um joguinho do tipo Arkanoid
    • PyGame  A Classe bouncer class Bouncer(pygame.sprite.Sprite): def __init__(self, startpos): pygame.sprite.Sprite.__init__(self) #direcao: 1=direita, -1=esquerda self.direction = 1 #carrega a imagem e a posiciona na tela self.image, self.rect = load_image('bouncer.gif') self.rect.centerx = startpos[0] self.rect.centery = startpos[1] def update(self): #multiplicamos x por 3 pro bouncer mover-seum pouco mais rápido! self.rect.move_ip((self.direction*3,0)) #se o bouncer atingir os limites da tela, invertemos a sua direcao if self.rect.left < 0: self.direction = 1 elif self.rect.right > width: self.direction = -1
    • PyGame  A Classe ball class Ball(pygame.sprite.Sprite): """classe para a bola""" def __init__(self, startpos): pygame.sprite.Sprite.__init__(self) self.speed = [2,2] #carrega a imagem e a posiciona na tela self.image, self.rect = load_image('ball.gif') self.rect.centerx = startpos[0] self.rect.centery = startpos[1] #salva a posicao inicial para ser reutilizada #quando a bola sair da tela pelo fundo self.init_pos = startpos def update(self): self.rect.move_ip(self.speed) #se a bola atingir os lados da tela, inverte a #direcao horizontal (x) if self.rect.left < 0 or self.rect.right > width: self.speed[0] = -self.speed[0] #se a bola atingir o topo da tela, inverte a #posicao vertical (y) if self.rect.top < 0: self.speed[1] = -self.speed[1] #se a bola atingir o fundo da tela, reseta #a sua posicao if self.rect.bottom > height: self.rect.centerx = self.init_pos[0] self.rect.centery = self.init_pos[1]
    • PyGame  Checando eventos (já no mainloop!) #checa eventos de teclado for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: bouncer.direction = -1 if event.key == pygame.K_RIGHT: bouncer.direction = 1
    • PyGame  Reagindo a colisões if bouncer.rect.colliderect(ball.rect): if ball.speed[1] > 0: ball.speed[1] = -ball.speed[1]
    • PyGame  Atualizando a tela e redesenhando #atualiza os objetos ball.update() bouncer.update() #redesenha a tela screen.fill(black) screen.blit(ball.image, ball.rect) screen.blit(bouncer.image, bouncer.rect) pygame.display.flip()
    • Tudo Pronto!
    • PyGame Exerc cio!í Faça um pong!
    • Práticas de Conectividade (web e bluetooth)