gjvnq
(usa Ubuntu)
Enviado em 02/11/2009 - 07:07h
Oi, eu estou fazendo um jogo bem simples com o pygame mas para movimentar os objetos eu tenho que ficar pressionando a tecla repetidas vezes.
Codigo:
#! /usr/bin/python2.5
import sys, pygame
pygame.init()
pygame.font.init()
global barra1pos
global barra2pos
global fonte
global pontos1
global pontos2
fonte = pygame.font.Font(None, 25)
pontos1 = 0
pontos2 = 0
size = width, height = 640, 480
bolavelo = [1, 1]
barra1pos = [5, 0]
barra2pos = [620, 0]
preto = 0, 0, 0
tela = pygame.display.set_mode(size)
barraimg1 = pygame.image.load("barra.bmp")
barra1 = barraimg1.get_rect()
barraimg2 = pygame.image.load("barra.bmp")
barra2 = barraimg2.get_rect()
bolaimg = pygame.image.load("bola.bmp")
bola = bolaimg.get_rect()
barra1 = barra1.move(barra1pos)
barra2 = barra2.move(barra2pos)
bola = bola.move([160, 120])
while 1:
barra1pos = [0, 0]
barra2pos = [0, 0]
pontos1t = "Jogador 1: " + str(pontos1)
pontos2t = "Jogador 2: " + str(pontos2)
texto1 = fonte.render(pontos1t , 1,(255,255,255,0))
texto2 = fonte.render(pontos2t , 1,(255,255,255,0))
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.KEYDOWN:
#print event.key
if event.key == 273:
barra2pos = [0, -5]
if event.key == 274:
barra2pos = [0, 5]
if event.key == 304:
barra1pos = [0, -5]
if event.key == 306:
barra1pos = [0, 5]
barra1 = barra1.move(barra1pos)
barra2 = barra2.move(barra2pos)
bola = bola.move(bolavelo)
if bola.left < 0 or bola.right > width:
bolavelo[0] = -bolavelo[0]
if bola.top < 0 or bola.bottom > height:
bolavelo[1] = -bolavelo[1]
if bola.colliderect(barra1) or bola.colliderect(barra2):
bolavelo[0] = -bolavelo[0]
if bola.left < 0:
pontos2 =+ 1
if bola.right > width:
pontos1 =+ 1
tela.fill(preto)
tela.blit(bolaimg, bola)
tela.blit(barraimg1, barra1)
tela.blit(barraimg2, barra2)
tela.blit(texto1, (100,10))
tela.blit(texto2, (440,10))
pygame.display.flip()
pygame.time.wait(25)