我开始创建我的第一个 pygame 游戏,它使用多个模块(.py 文件)以便于理解代码,所以我们开始吧。
主文件
import pygame,sys
from Player import *
from groups import *
from constants import *
from Events import *
pygame.init()
screen = pygame.display.set_mode(size)
player = Player()
player.add_to_group()
while True:
player.draw(screen)
event = Event()
播放器.py
import pygame
from groups import *
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface([30,30])
self.image.fill([255,0,0])
self.rect = self.image.get_rect()
def move_player(self):
key = pygame.key.get_pressed()
if key[pygame.K_DOWN]:
self.rect.y += 1
elif key[pygame.K_UP]:
self.rect.y -= 1
elif key[pygame.K_RIGHT]:
self.rect.x += 1
elif key[pygame.K_LEFT]:
self.rect.x -= 1
def add_to_group(self):
all_sprite_list.add(self)
def remove_from_group(self):
all_sprite_list.remove(self)
def draw(self,surface):
surface.blit(self.image,(0,0))
组.py
import pygame
all_sprite_list = pygame.sprite.Group()
常量.py
import pygame
size = width,heighth = 700,400
事件.py
import pygame,sys
class Event(object):
def __init__(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
结果应该是代表玩家的左上角的红色方块。但无论我这样做,我都没有收到任何错误,但它只显示一个空白的黑色窗口。
我尝试修复它几次(比如使用 .draw 绘制整个“all_sprite_list”),但没有任何效果。