2009-03-12 2 views
7

Я играю с написанием простых карточных игр в Python для удовольствия, и я хотел бы добавить графический интерфейс пользователя (GUI) в игры. В какой библиотеке вы порекомендовали бы писать графический интерфейс для простой карточной игры?wxPython или pygame для простой карточной игры?

ответ

6

Если все, что вы хотите, это графический интерфейс, wxPython должен сделать трюк.

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

1

Я бы сказал pygame - Я слышал, что это очень весело, легко и приятно. Кроме того, все мои впечатления от wxPython были грустными.

Но я не предвзятость или что-то еще.

4

Я не использовал wxPython, но Pygame сам по себе довольно низкоуровневый. Это позволяет вам захватывать нажатия клавиш, события мыши и рисовать материал на экране, но не предлагает никаких готовых элементов управления графическим интерфейсом. Если вы используете Pygame, вам придется либо написать свои собственные классы GUI, либо использовать существующие расширения GUI для Pygame, например Phil's Pygame Utilities.

2

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

Для чего-то вроде карточной игры, я бы пошел с wxPython (точнее, PyQt). Это связано с тем, что карточная игра не имеет большого значения с точки зрения графики (рисунок 2D-карты на экране не сложнее в wx/PyQt, чем в PyGame). А с другой стороны, вы получаете много преимуществ от wx - как готовый графический интерфейс для взаимодействия.

В Pygame вы должны сами создать GUI или пропустить несколько библиотек, наполовину испеченных, которые сделают это для вас. Это действительно имеет смысл для Pygame, потому что, когда вы создаете игру, вы обычно хотите собственный графический интерфейс, который соответствует стилю игры. Но для карточных игр большинство шансов на то, что стандартные виджеты wx будут делать трюк и сэкономит вам часы кодирования.

+0

Интересно, что вы предложили рисовать 2D-карты. Я думал об использовании изображений карт для представления карт. Существуют ли какие-либо преимущества для рисования форм карты по сравнению с использованием изображений? – adam

+0

@adam: два преимущества. (1) вы узнаете, как рисовать нетривиальные формы. (2) вы можете заставить карты смотреть, как хотите, не привязанные к какому-либо определенному изображению. –

Смежные вопросы