Проверка столкновений
На этом занятии будет рассмотрен пример столкновения объектов.
Класс Player
Для удобства класс можно вынести в отдельный модуль.
Модуль player |
Модуль main |
import pygame
class Player(pygame.sprite.Sprite):
def __init__(self, x, y):
pygame.sprite.Sprite.__init__(self)
self.x = x
self.y = y
self.x_speed = 0
self.y_speed = 0
self.image = pygame.Surface((50, 50))
self.image.fill((255, 0, 0))
self.rect = self.image.get_rect()
self.rect.center = self.x, self.y
def reset(self, screen):
screen.blit(self.image, self.rect)
|
from player import Player
import sys
import pygame
pygame.init()
SIZE = WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode(SIZE)
clock = pygame.time.Clock()
p1 = Player(400, 300)
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
screen.fill((255, 255, 255))
p1.reset(screen)
pygame.display.update()
clock.tick(60)
|
Дополнительный аргумент screen
метода .reset()
- это поверхность, на которой нужно отобразить игрока.