0
我在玩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