2015-10-05 76 views
0

我是編碼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: 
+0

不是真的這個問題,而是閱讀了pep8。 – cmd

回答

1

這是你的問題:

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

1

試試這個

while ball1: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      sys.exit() 

移動sys.exit()下可以在許多情況下幫助。

+0

謝謝。但我仍然看不到那兩個球。我能知道原因嗎? –

+0

pep8很好,但這不是它不工作的原因。 – cmd

0

縮進,隊友.....

while ball1: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
     sys.exit() 
相關問題