Увеличиваете область с пигмеем? - PullRequest
0 голосов
/ 31 мая 2018

Вчера я сделал функцию увеличения в качестве теста для игры, над которой я собираюсь работать.Выглядит нормально, но я бы предпочел только увеличивать область, видимую через стекло.

Кто-нибудь знает, как увеличить динамический радиус с помощью python / pygame?Придется ли мне накладывать свое изображение или грубой силой его с помощью какого-нибудь интенсивного всплеска слоя?Я не уверен, стоит ли здесь что-то задавать.

Вот видео-демонстрация, чтобы показать, о чем я говорю - https://youtu.be/_pVyb0bns3k

1 Ответ

0 голосов
/ 01 июня 2018

Я не думаю, что здесь есть какие-либо ярлыки.Я бы порекомендовал рисовать экран без увеличения в обычном режиме, перетягивая увеличенную область в виде круга, а затем перетягивая в увеличительное стекло поверх.Первые и последние биты, которые вы, очевидно, уже знаете, как сделать, поэтому давайте посмотрим на блиц в увеличенной области.

Для этого я бы

  • взял часть изображениябыть увеличенным как квадрат и скопировать его на новую поверхность.(Помните, что это будет меньше, чем полученная область.)
  • Используйте pygame.transform.smoothscale, чтобы увеличить его до размера, достаточного для охвата всей области увеличительного стекла
  • Используйте маскировку, чтобы повернуть ееиз квадрата в круг.См. Pygame - есть ли какой-нибудь способ только вспомнить или обновить в маске для подробностей.
  • Blit результат.

Не слишком беспокоиться оспектакль.Вы делаете это только один раз за кадр.

...