помощь по добавлению слоев в pygame - PullRequest
0 голосов
/ 06 ноября 2018

Я делаю проект в Pygame. Я создаю меню еды. В каждом блоке, когда я перемещаю на него мышь, его рамка становится синей, и появляется текст «Нажмите еще»

8 boxes

Когда я нажимаю на кнопку "Нажмите еще", я хочу, чтобы новый слой появился сверху ящиков, и я хочу, чтобы все ящики сзади не могли быть доступны, пока я не закрою слой.

white layer

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

back boxes turn blue if I move the mouse on them

Я немного читал о добавлении слоев в pygame, но не могу его получить. Я работаю над Pygame только 2 недели.

1 Ответ

0 голосов
/ 07 ноября 2018

Есть много способов реализовать это.

Один из возможных способов - установить переменную логического флага на False всякий раз, когда слой рисуется, и проверять значение переменной флага при каждом щелчке мышью: если оно ложно, не позволяйте щелчкам получать до их обработчиков.

Если вы реализуете это с помощью объектно-ориентированного программирования, вы можете зайти так далеко, как создать объект "LayerManager", который отслеживает различные слои, их положения и способы их перекрытия (если вы планируете иметь очень много слоев друг на друге).

Насколько я знаю, PyGame не позволяет вам использовать слои так, как вы хотели бы, поскольку это довольно специфическая функция, которую вам, возможно, придется реализовать самостоятельно. Если вы отправите код, мы будем рады вам помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...