3

コードを理解しやすくするために、複数のモジュール (.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」全体を描画するなど)、何も機能しませんでした。

4

1 に答える 1