У меня есть сложная задача с pygame. Я пытаюсь создать простую игру, но до сих пор я не могу представить основную часть отображения изображения и перемещения по экрану с помощью клавиатуры. Я хотел бы, чтобы это разрешилось, чтобы я мог двигаться дальше и добавлять дополнительные данные, но пока это не я, к сожалению, застрял. Я был бы очень признателен за любые источники питания и поддержкуpygame перемещение изображения с помощью клавиатуры
enter code here import math, os, pygame, random
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640,480))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
running = False
class Game(object):
def main(self, screen):
background = pygame.image.load("background.png")
image = pygame.image.load("plane.png")
sprites = pygame.sprite.Group()
self.player = Player(sprites)
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return
if event.type == pygame.KEYDOWN and event.key ==pygame.K_ESCAPE:
return
sprites.update()
screen.fill((200,200,200))
screen.blit(background,(0,0))
sprites.draw(screen)
pygame.display.flip()
class Player(pygame.sprite.Sprite):
def __init__(self, *group):
super(Player, self). __init__(*groups)
self.image = pygame.image.load("plane.png")
self.rect = pygame,rect.Rect((320, 240), self.image.get.size())
def update(self):
key = pygame.key.get_pressed()
if key[pygame.K_LEFT]:
self.rect.x -= 10
if key[pygame.K_RIGHT]:
self.rect += 10
if key[pygame.K_UP]:
self.rect -= 10
if key[pygame.K_DOWN]:
self.rect += 10
if __name__ == "__main__":
pygame.init()
screen = pygame.display.set.mode((640,480))
Game().main(screen)
class Wall(pygame.sprite.Sprite):
def __init__(self.color,x,y,width,height):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((width.height))
self.image.fill(pygame.colour.Colour(colour))
self.rect = self.image.get_rect()
self.rect. x = x
self.rect. y = y