LINUX.ORG.RU

[pygame][python] Спрятать объект

 


0

1

Только недавно начал работать с Pygame и есть ряд вопросов. Мне надо убрать объект с экрана. Скажем когда перемещаю его по экрану. Когда фон одноцветный, я на предыдущем место, где находился спрайт рисую объект, схожий по цвету с фоном, и равный по размеру со спрайтом, который перемещаем.

А как поступить в том случае, когда фон не одноцветный, а скажем какая-нибудь картинка?

Порядок отрисовки: в буфер рисуется сначала слой с фоном, потом слои со спрайтами, затем этот буфер показывается. При перемещении повторить. Но это довольно медленно, хоть и работает.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

Спасибо, не догадался что-то. Попробую.

Chubakur ★★
() автор топика

как вариант - копировать перед отрисовкой объекта область фона под ним, рисовать объект. При перемещении помещать скопированную область поверх объекта, копировать область фона под местом отрисовки объекта, рисовать объект.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

Ну это вроде слишком круто :) Попробовал с предварительной прорисовкой фона, это работает ) Спасибо!

Chubakur ★★
() автор топика
Ответ на: комментарий от pevzi

А фиг знает, я этим лет 5 назад интересовался, думал, что есть способы быстрее ) Допустим, не рисовать фон в буфере каждый раз полностью, а перерисовывать только изменившуюся часть.

drakmail ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.