2013-07-09 53 views
2

我是新與pygame的編程和我有此代碼:NameError:名字「KEYDOWN」沒有定義

import sys, pygame 
pygame.init() 

size = width, height = 800, 600 
speed = [2, 2] 
black = 1, 1, 1 

screen = pygame.display.set_mode(size) 

ball = pygame.image.load("ball.bmp") 
ballrect = ball.get_rect() 
player1 = pygame.image.load("player1.png") 
player1rect = player1.get_rect() 

mod_x = mod_y = 0 

while 1: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      sys.exit() 
     elif event.type == KEYDOWN: 
      if event.key == K_W: 
       movex = 2 
      if event.key == K_S: 
       movex = -2 

    ballrect = ballrect.move(speed) 
    if ballrect.left < 0 or ballrect.right > width: 
     speed[0] = -speed[0] 
    if ballrect.top < 0 or ballrect.bottom > height: 
     speed[1] = -speed[1] 

    screen.fill(black) 
    screen.blit(ball, ballrect) 
    screen.blit(player1, player1rect) 
    pygame.display.flip() 

,但是當我試圖使用它,它只是說:

 File "C:\Users\User\Documents\Pong\pong.py", line 22, in <module> 
    elif event.type == KEYDOWN: 
NameError: name 'KEYDOWN' is not defined 
      ^
SyntaxError: invalid syntax 

所以請幫助我,我非常需要它。我需要一個快速的答案。

+0

爲什麼寫pygame.QUIT,當你寫KEYDOWN? –

回答

2

KEYDOWN未在您的代碼中定義。您可以添加這開頭:

from pygame.locals import * 

或者,你可以這樣做:

elif event.type == pygame.KEYDOWN 
相關問題