不知道为什么34行报错;
想让player初始是me1
按下右方向键后player显示为me4
import pygame
speed = 1
me1 = pygame.image.load("./游戏素材/me下.png")
me2 = pygame.image.load("./游戏素材/me上.png")
me3 = pygame.image.load("./游戏素材/me左.png")
me4 = pygame.image.load("./游戏素材/me右.png")
player = me1
def judge():
if hero.x <= 0:
hero.x = 0
if hero.x >= 950:
hero.x = 950
if hero.y <= 0:
hero.y = 0
if hero.y >= 550:
hero.y = 550
def _quit():
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
def handler():
keys_pressed = pygame.key.get_pressed()
if keys_pressed[pygame.K_RIGHT]:
hero.x += speed
global player = me4
window.blit(player, hero)
if keys_pressed[pygame.K_LEFT]:
hero.x -= speed
else:
hero.x += 0
if keys_pressed[pygame.K_UP]:
hero.y -= speed
if keys_pressed[pygame.K_DOWN]:
hero.y += speed
else:
hero.y += 0
pygame.init()
window = pygame.display.set_mode((1000, 618))
background = pygame.image.load("./游戏素材/background.png")
hero = pygame.Rect(20, 20, 40, 40)
clock = pygame.time.Clock()
window.blit(player, (20, 20))
while 1:
window.blit(background, (0, 0))
window.blit(player, hero)
pygame.display.update()
judge()
handler()
_quit()