Python GUI для карточной игры - PullRequest
       8

Python GUI для карточной игры

2 голосов
/ 07 февраля 2012

Я планирую написать карточную игру на Python, и теперь ищу GUI (я новичок в Python). До сих пор я опробовал два GUI: TK (inter) и wxPython .

Кажется, что ни один из них не может и поправит меня, если я ошибаюсь , сделать это:

перетаскивание панели с изображением карты в ней

И дело даже не в перетаскивании. Это ситуация

  1. Я хочу поместить Карту в контейнер. Должна быть возможность отображать как переднюю, так и заднюю сторону карты, поэтому я хочу, чтобы каждая карта была панелью, а не чистым изображением.
  2. На изображении должны быть прозрачные области (углы карты закруглены)
  3. Панель (контейнер) должна быть прозрачной (чтобы карту можно было перетаскивать на разные фоновые цвета, на стол и другие карты, ....)

TKinter : не могу сделать 3, как я понимаю

wxPython : не могу сделать 2, как я понимаю.

Я могу пойти и открыть GUI после GUI, но это отнимает много времени, поэтому мои вопросы:

  1. У TKinter и wxPython есть эти недостатки?
  2. Если это так, к какому графическому интерфейсу обратиться?

Я слышал о Pygame, но на самом деле я не так уж много спрашиваю о GUI Swing (java) может это сделать, и это тоже не игровой центр.

Ответы [ 4 ]

7 голосов
/ 07 февраля 2012

Поскольку вы хотите написать игру, я бы рекомендовал , а не , использовать библиотеку графического интерфейса. Вместо этого вы должны искать игровые библиотеки , например PyGame , PyOpenGl или Kivy (помимо других). Все они должны соответствовать вашим потребностям.

6 голосов
/ 07 февраля 2012

wxPython может делать прозрачность, вам просто нужно использовать прозрачные PNG.

png = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
wx.StaticBitmap(self, -1, png, (10, 5), (png.GetWidth(), png.GetHeight()))

Отображение изображения .png в окне в wxPython

1 голос
/ 08 февраля 2012

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

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

1 голос
/ 07 февраля 2012

Вы должны взглянуть на демо wxPython для примеров и спросить в списке рассылки wxPython, чтобы узнать, есть ли кто-то, кто сделал что-то подобное.В демонстрации есть демонстрация DragImage, которая делает то, что вы ищете.

В противном случае, одна из библиотек игр Python может лучше удовлетворить ваши потребности.PyGame, пожалуй, самый известный.Некоторое время Пиглет набирал обороты.См. Также wxPython или pygame для простой карточной игры?

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