Какую библиотеку пользовательского интерфейса Python можно использовать для 2D-игр?

17

Я хочу создать 2D-игру на Python с тяжелым пользовательским интерфейсом: окна, кнопки, ввод текста и т. д. До сих пор я использовал PyGame для нескольких простых игр.

Игра представляет собой 2D MUD, со стандартным циклом рендеринга, чтобы нарисовать материал на экране. Мне нужен пользовательский интерфейс для взаимодействия с игровыми объектами, такими как продажи, кузнец и т. Д.

Я ищу что-то вроде комбинации Pygame и wxPython / pyQT / pyGTK.

Какие библиотеки я могу использовать?

    
задан vz0 24.10.2011 в 00:08
источник

6 ответов

6

Я бы взял PyQT с QGraphicsView или QGraphicsScene . К сожалению, существует Clanlib привязка к python как для perl и рубин . Вероятно, это был бы идеальный выбор.

    
ответ дан Víctor Romero 24.10.2011 в 12:38
  • Звучит интересно, мне нравится QT. –  vz0 26.10.2011 в 00:58
  • Qt - одно из лучших, которое вы можете использовать. :) Кроме того, PyQt не разрешает коммерческое лицензирование (и продажу) вашего приложения, не покупая у них специальную лицензию. Вы можете обойти это, используя вместо этого PySide (который использует LGPL вместо GPL, который использует PyQt). –  John Doe 28.10.2011 в 22:27
  • Насколько быстро выполняется рендеринг с помощью QGraphicsView? Могу ли я ожидать 60 FPS с холстом и спрайтами 800 * 480? –  Niriel 01.11.2011 в 10:11
  • @Niriel, пока я еще не тестировал QGraphicsView, связанный пример показывает, как изменить видовое окно на рендеринг OpenGL. Это должно дать вам ожидаемую частоту кадров. –  vz0 01.11.2011 в 15:35
6

Вы можете использовать популярную библиотеку игр Pyglet вместе с wxPython , кросс-платформенная графическая библиотека. Пример того, как это сделать:

Ссылка

Кроме того, если вы хотите использовать чистый Pyglet, вы можете использовать Kytten , чистую графическую библиотеку Python, построенную на вершина Пиглета.

    
ответ дан Manuel Ceron 24.10.2011 в 17:33
1

Не уверен, что он подходит вам, но PGU подходит для pygame, потому что он позволяет вам использовать свой собственный цикл рендеринга, и связать с ним.

    
ответ дан Ikke 24.10.2011 в 00:40
1

Ссылка , возможно, что вам нужно

    
ответ дан Yang 24.10.2011 в 03:36
1

tkinter - один из вариантов. У этого есть виджет холста, который очень прост в использовании - вы можете рисовать объекты (линии, круги и т. Д.), А также вставлять изображения (например, для плиток). И, конечно же, он поставляется со стандартной коллекцией виджетов (кнопок, comboboxes, listboxes, menus и т. Д.), Которые могут быть встроены в холст или использоваться в более традиционном смысле.     

ответ дан Bryan Oakley 24.10.2011 в 04:13
0

Взгляните на librocket . Он также поддерживает скрипты python.

    
ответ дан hymloth 31.10.2011 в 14:05