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

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

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

Я ищу что-то вроде смеси Pygame и wxPython / pyQT / pyGTK.

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

Ответы [ 6 ]

6 голосов
/ 24 октября 2011

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

http://pyglet.googlecode.com/svn/trunk/experimental/wxtest.py

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

6 голосов
/ 24 октября 2011

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

1 голос
/ 24 октября 2011

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

1 голос
/ 24 октября 2011

http://code.google.com/p/librpg/ возможно, что вам нужно

1 голос
/ 24 октября 2011

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

0 голосов
/ 31 октября 2011

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

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