我在pygame上做了Pong遊戲,但它還沒有完成。代碼中的變量,類和其他東西的名稱都是用葡萄牙語的,但我認爲很容易知道這是什麼。該代碼應該使用戶想要的時候移動兩個撥片,但它只顯示背景和撥片。我沒有收到任何錯誤消息。這個pygame程序有什麼錯誤?
下面的代碼:
import pygame,sys,os,time
from pygame.locals import *
pygame.init()
janela=pygame.display.set_mode((800, 533),0,32)
pygame.display.set_caption("Pong!")
superficie=pygame.display.get_surface()
clock=pygame.time.Clock()
fundoFicheiro=os.path.join("Imagens","fundo2.png")
fundoImagem=pygame.image.load(fundoFicheiro).convert()
barraFicheiro=os.path.join("Imagens","barra.png")
barraImagem=pygame.image.load(barraFicheiro).convert_alpha()
def imprimirBarra(x,y):
janela.blit(barraImagem,(x,y))
class barra():
y=1
x=1
velocidade=1
def subir(self):
self.y-=self.velocidade
def descer(self):
self.y+=self.velocidade
def parar(self):
self.velocidade=0
def comecar(self):
self.velocidade=1
barra1=barra()
barra1.x=5
barra1.y=superficie.get_height()/2-barraImagem.get_height()/2
barra2=barra()
barra2.velocidade=1
barra2.x=superficie.get_width()-(barraImagem.get_width()+5)
barra2.y=superficie.get_height()/2-barraImagem.get_height()/2
def interface():
for event in pygame.event.get():
if event.type==KEYDOWN:
if event.key==K_UP:
barra2.comecar()
barra2.subir()
elif event.key==K_DOWN:
barra2.comecar()
barra2.descer()
elif event.key==K_w:
barra1.comecar()
barra1.subir()
elif event.key==K_s:
barra1.comecar()
barra1.descer()
elif event.type==KEYUP:
if event.key==K_UP:
barra2.parar()
elif event.key==K_DOWN:
barra2.parar()
elif event.key==K_w:
barra1.parar()
elif event.key==K_s:
barra1.parar()
while True:
clock.tick(60)
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
janela.blit(fundoImagem,(0,0))
imprimirBarra(barra1.x,barra1.y)
imprimirBarra(barra2.x,barra2.y)
interface()
pygame.display.update()
問題是什麼?具有描述性。 StackOverflow不是轉儲代碼並讓其他人爲您調試的地方。如果您收到錯誤消息,請將其填入您的問題中。如果程序中某個特定的東西不起作用,請描述它並將其追蹤到特定的功能/行。 – Sumurai8
對不起,不是非常具體,也許在代碼中犯了一個愚蠢的錯誤。我是python和pygame的新手,這是我第一次在StackOverflow中發佈一些東西。 – user2713343