0
import pygame, sys, pygame.mixer 

pygame.init()

size = width,height = 1256,640
screen = pygame.display.set_mode(size)
player_x = 0
player_y = 0
movex = 0

maintheme = pygame.mixer.Sound("music/mainthemes.ogg")
maintheme.play()

player_w = pygame.image.load("characters/player/character_w.png").convert_alpha()
player_a = pygame.image.load("characters/player/character_a.png").convert_alpha()
player_s = pygame.image.load("characters/player/character_s.png").convert_alpha()
player_d = pygame.image.load("characters/player/character_d.png").convert_alpha()

background1 = pygame.image.load("maps/background1.png").convert_alpha()

while True:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        if event.type==KEYDOWN:
            if event.key==K_a:
                movex=-1

        screen.fill((0,0,0))
        screen.blit(background1,(0,0))
        screen.blit(player_s,(player_x,player_y))

        pygame.display.update() 

エラーは次のとおりです: File "/home/fenton/Desktop/main.py", line 27, in if event.type==KEYDOWN: NameError: name 'KEYDOWN' is not defined [Finished in 4.9s]

4

2 に答える 2

3

あなたがする必要があります:

if event.type==pygame.KEYDOWN:

そうしないと、Python は がどこKEYDOWNで定義されているかわかりません。


また、次のように変更することもできます。

elif event.type==pygame.KEYDOWN:

event.typeなる方法はありません。pygame.QUIT pygame.KEYDOWN

于 2013-11-10T20:30:57.973 に答える
1
from pygame.locals import *

この行を追加すると、準備完了です。

ただし、これは機能しますが、悪い習慣であり、代わりにiCodezが提供するソリューションを優先して使用する必要があります。

于 2013-11-10T20:33:31.420 に答える