Собственный метод PyGame для автоматического масштабирования входных данных до разрешения поверхности? - PullRequest
0 голосов
/ 24 июля 2011

Этот вопрос относится к этому другому .

В моей программе (которая использует pygame для рисования объектов на видео) у меня есть два представления моегоworld:

  • A физический , который я использую для выполнения всех вычислений, связанных с моделированием и в которых объекты расположены на поверхности 1000x1000 метров.
  • визуальный , который я использую для рисования на экране, в котором мои объекты расположены в окне размером 100x100 пикселей.

То, чего я хочу достичь, - это возможностьперейти к моим функциям рисования в Pygame (, которые обычно принимают входные данные в пикселях ), мои физические / действительные координаты .Другими словами, я хотел бы иметь возможность сказать:

Draw a 20m radius circle at coordinates (200m, 500m)

, используя точный синтаксис pygame:

pygame.draw.circle(surface, (255,255,255), (200,500), 20)

и получить мой круг с радиусом 2px с центром в пикселях (20, 50).

Обратите внимание, что этот вопрос о нативном пигмеевском способе сделать это , а не о каком-то обходном пути для достижения этого результата (если вы хотите на него ответить, вам следуетВзгляните на вопрос, который я уже упоминал ).

Заранее спасибо за ваше время и поддержку.

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Так как кажется, что разработчики PyGame не слишком много болтаются здесь, я перенес вопрос в список рассылки Pygame, где он создал monster thread , и проблема обсуждалась в целом.

Сводка будет выглядеть следующим образом:

  • В настоящее время такой функции нет.
  • Существует интерес для ее реализации или впо крайней мере, попытаться реализовать это ...
  • ... хотя это не является приоритетным направлением для разработчиков ядра
  • Существует несколько способов скина кошки:
    • должно ли масштабирование происходить в обоих направлениях (ввод координат и их чтение)?
    • как справляться с линиями, которые не имеют толщины, но должны быть видимыми?
    • как справляться с видимостью объектов на краю изображения?какие из их точек следует использовать в качестве ссылки, чтобы знать, должен ли пиксель быть освещен или нет для них?
    • и более (см. связанную ветку).
1 голос
/ 23 сентября 2011

Нет собственного способа сделать это.

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

Поскольку у вас есть векторные объекты, вы должны определить, как они будут преобразованы в пиксели. Это не обходной путь - это то, как вы собираетесь использовать Pygame.

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