Загрузить изображение
Часть раздела Спрайты и изображения путешествия по Pygame на Coddy. Урок 1 из 36.
В играх рисуют не только фигуры, но и изображения. Изображение загружается из файла, а pygame превращает файл в Surface — такой же объект, как окно: сетку пикселей, на которой можно рисовать.
ship = pygame.image.load("assets/images/ship.png").convert_alpha()Путь задаётся относительно main.py: рядом с ним находится папка assets, а на вкладке Assets рядом с игрой перечислены все файлы в этой папке.
convert_alpha() копирует изображение в собственный пиксельный формат окна, поэтому его быстро рисовать каждый кадр, и при этом сохраняются прозрачные пиксели. Для этого нужно окно, поэтому загружай изображения после set_mode. Загружай каждое изображение один раз, до начала цикла: чтение файла 60 раз в секунду замедляет игру.
Чтобы нарисовать изображение, blit его на окно. Позиция указывает, где будет его верхний левый угол:
screen.blit(ship, (288, 208))Выполняй blit после screen.fill(...), иначе заливка закрасит изображение.
Задание
Легко- После
set_modeзагрузитеassets/images/ship.pngс помощью.convert_alpha()в переменную с именемship. - В цикле после заливки выведите
shipтак, чтобы его верхний левый угол находился в точке(288, 208). Размер корабля — 64 на 64 пикселя, поэтому он окажется в центре окна размером 640 на 480.
Попробуйте сами
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Space Images")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((20, 22, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Все уроки раздела Спрайты и изображения
1Загрузка изображений
Загрузить изображениеРазместить его с помощью RectПереместить изображениеЗамостить фонПрозрачные пиксели2Поворот, отражение, масштабирование
Вращение вокруг центраПовернись в направлении полётаИзменение масштаба изображенияВращение от исходного изображения5Пиксельно точные столкновения
Прямоугольники кажутся несправедливымиМаскиПиксельно точные спрайтыКруглые хитбоксы3Классы игровых объектов
Ваш первый классМетодыSelf — это объектСписок объектовОбъекты с изображениямиПодкласс6Анимация с помощью листов спрайтов
Разрезать лист спрайтовСчётчик кадровАнимация по времениОднократная анимация взрываПотренируйтесь самостоятельно: Песочница Pygame