0
由於某些原因,箭頭鍵不會移動「guy.png」精靈。有沒有人有解釋爲什麼?是的,精靈顯示在屏幕上,是的,guy.png與項目位於同一個文件夾下。屏幕上的字符不會移動(pygame)
代碼:
import pygame, sys
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((500, 500), 0, 32)
guy_sprite = pygame.image.load("guy.png")
wall_sprite = pygame.image.load("wall.png")
class guy_class(pygame.sprite.Sprite):
def __init__(self, surface):
self.surface = surface
self.x = 250
self.y = 250
self.vx = 0
self.vy = 0
self.sprite = guy_sprite
def event(self, event):
if event.type == pygame.K_UP:
self.vy = -1
elif event.type == pygame.K_DOWN:
self.vy = 1
elif event.type == pygame.K_LEFT:
self.vx = -1
elif event.type == pygame.K_RIGHT:
self.vx = 1
def move(self):
self.x += self.vx
self.y += self.vy
def draw(self, surface):
surface.blit(self.sprite, (int(self.x), int(self.y)))
def position(self):
return self.x, self.y
class wall_class(pygame.sprite.Sprite):
def __init__(self, surface):
self.x = 100
self.y = 250
self.vx = 0
self.vy = 0
self.sprite = wall_sprite
def draw(self, surface):
surface.blit(self.sprite, (self.x, self.y))
def end_game():
pygame.quit()
sys.exit()
clock = pygame.time.Clock()
guy = guy_class(screen)
wall = wall_class(screen)
while True:
screen.fill((0, 0, 0))
guy.move()
guy.draw(screen)
for event in pygame.event.get():
if event.type == QUIT:
end_game()
elif event.type == pygame.KEYDOWN:
guy.event(event)
clock.tick(100)
pygame.display.update()