Статья Автор: Омарбек Нұр-Мұхаммед

Теория 2

Класс Wall

Для удобства класс можно вынести в отдельный модуль.

Модуль wall
import pygame


class Wall(pygame.sprite.Sprite):
    def __init__(self, x, y):
        pygame.sprite.Sprite.__init__(self)
        self.x = x
        self.y = y

        self.image = pygame.Surface((50, 50))
        self.image.fill((0, 0, 0))

        pygame.draw.rect(self.image, (255, 255, 255), (5, 5, 40, 40))

        self.rect = self.image.get_rect()
        self.rect.center = self.x, self.y

    def reset(self, screen):
        screen.blit(self.image, self.rect)
Модуль main
from player import Player
from wall import Wall

import sys
import pygame
pygame.init()

SIZE = WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode(SIZE)
clock = pygame.time.Clock()

LEFT = RIGHT = False

p1 = Player(400, 300)

w1 = Wall(500, 300)

while 1:
    ...

    screen.fill((255, 255, 255))

    p1.reset(screen)
    p1.update(LEFT, RIGHT)

    w1.reset(screen)

    pygame.display.update()

    clock.tick(60)

Как и игрок класс Wall наследуется от класса Sprite.

 

 

Задание: создать несколько препятствий и объединить их в одну группу.

Примечание: у экземпляра класса Group есть метод .draw(), поэтому метод .reset() класса Wall можно удалить.

 

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать