コードを理解しやすくするために、複数のモジュール (.py ファイル) を使用する最初の pygame ゲームの作成を開始しました。
main.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()
Player.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))
groups.py
import pygame
all_sprite_list = pygame.sprite.Group()
定数.py
import pygame
size = width,heighth = 700,400
Events.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」全体を描画するなど)、何も機能しませんでした。