Пример
Чтобы рассмотреть пример использования дополнительных поверхностей, можно вернуться к предыдущему проекту:
В этом примере нужно создать две поверхности:
- Объект
screen
(окно приложения)
- И объект
car_surface = pygame.Surface((300, 120))
После создания дополнительной поверхности (car_surface
), все графические примитивы, с помощью которых отображается рисунок, нужно отображать на ней, а не на объекте screen
(координаты примитивов нужно изменить, т.к. размеры поверхностей разные).
Теперь можно перемещать саму поверхность по объекту screen
, а не каждый отдельный графический примитив, что делает анимацию более удобной и простой.
Алгоритм рисования следующий:
- Залить экран (
screen.fill((255, 255, 255))
)
- Сдвинуть дополнительную поверхность (
x_car_surface += 1
)
- Нарисовать на дополнительной поверхности рисунок (функция
car()
)
- Отобразить дополнительную поверхность на экране (
screen.blit(car_surface, (x_car_surface, 440))
)
- Обновить экран (
pygame.display.update()
)