为什么我在Pygame中编码Pong时不能显示球?
问题描述:
我是编码Pygame的新手。我的第一项任务是编码PONG game
。但是,我发现两个球不能在屏幕上显示。我不知道原因。我会提供我的代码。谢谢!另外,最后一行有error
。不过,我只是从Pygame文档复制我不知道为什么它存在一个error
。为什么我在Pygame中编码Pong时不能显示球?
import pygame,sys,time
# Open a brand-new window
pygame.init()
Screen_size = (500,400)
Title = ('Pong')
Frame_Delay = 0.01
Surface= pygame.display.set_mode(Screen_size,0,0)
pygame.display.set_caption(Title)
# Set up white color for drawing balls
white=pygame.Color('white')
# Now, we start to draw two balls
pos1=(100,200)
pos2=(400,200)
rad=50
ball1=pygame.draw.circle=(Surface,white,pos1,rad,0)
ball2=pygame.draw.circle=(Surface,white,pos2,rad,0)
pygame.display.update()
# Now, define speed
speed=[2,2]
# Now, we define a loop
while ball1:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
的语法错误会显示以下
Traceback (most recent call last):
File "/tmp/guest-54jjJ1/Desktop/pong.py", line 24, in <module>
if event.type == pygame.QUIT: sys.exit()
builtins.SystemExit:
答
这是你的问题:
ball1=pygame.draw.circle=(Surface,white,pos1,rad,0)
ball2=pygame.draw.circle=(Surface,white,pos2,rad,0)
你不应该被设定功能=
一个元组。你应该叫draw.circle()这样的:
ball1 = pygame.draw.circle(Surface, white, pos1, rad, 0)
ball2 = pygame.draw.circle(Surface, white, pos2, rad, 0)
顺便说一句,它真的不好的形式来调用一个变量Surface
。这是一个班级的名字pygame
答
试试这个
while ball1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
移动sys.exit()
下可以在许多情况下帮助。
+0
谢谢。但我仍然看不到那两个球。我能知道原因吗? –
+0
pep8很好,但这不是它不工作的原因。 – cmd
答
缩进,队友.....
while ball1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
不是真的这个问题,而是阅读了pep8。 – cmd