本文介绍了NameError:名称"KEYDOWN"未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是PyGame编程的新手,并且我编写了以下代码:
I am new to programming with PyGame and I've made this code:
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()
但是当我执行代码时,出现此错误:
But when I execute my code, I get this error:
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
请帮助我.我非常需要它,我需要快速解答.
Please help me. I need it so much, I need an answer quick.
推荐答案
KEYDOWN
在您的代码中未定义.您可以将其添加到开头:
KEYDOWN
isn't defined in your code. You can add this to the beginning:
from pygame.locals import *
或者您可以这样做:
elif event.type == pygame.KEYDOWN
这篇关于NameError:名称"KEYDOWN"未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!