глубокой визуальной анимации - PullRequest
0 голосов
/ 31 марта 2020

Я пытался создать простую игру в python с помощью пакета pygame. Это игра для баскетбола на двоих, и я хотел знать, есть ли способ оживить игрока, который будет напечатан над корзиной, когда он перед ней, и напечатан под ней, когда он находится за корзиной. Я знаю, что порядок отображаемых изображений организован по порядку написанного кода в редакторе, поэтому я хотел знать, как временно изменить это в зависимости от координаты X.


Two figures


Например, как в png выше, где в левом объекте сфера находится над квадратом, а в правом объекте квадрат выше круга

, в этом примере круг является Неподвижный объект (корзина) и квадрат игрока.

1 Ответ

0 голосов
/ 31 марта 2020

В общем случае вам нужна спрайт-система, в которой все, что вы рисуете, имеет атрибут «глубина», а вы рисуете вещи в таком порядке, задом наперед, т.е. алгоритм Painter .

Есть немного связанный вопрос и ответ на pygame: порядок рисования для группы спрайтов со sprite.RenderPlain .

Если вы не используете спрайты или что-то подобное, вы можете Конечно, делайте это вручную, но для более сложной игры, я думаю, это закончится очень утомительно и спагетти:

if player_y < basket_y:
   draw_basket()
   draw_player()
else:
   draw_basket()
   draw_player()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...