Мнение о графическом интерфейсе для игры «Броненосец» в Python

Я делаю линкор для проекта. Пока я завершил логику, и игра работает с текстовым вводом. Я надеялся сделать (очень простой) графический интерфейс, все еще использую методы, созданные для текста.

Два варианта, которые я рассматривал, – PyGame и Tkinter. PyGame, похоже, не имеет функции вывода текста / метки. Tkinter делает, но это не кажется таким легким (я чувствую), как PyGame.

Хотя я хотел бы дать любой из этих фреймворков время, которое они заслуживают, у меня уже более 60 часов, прежде чем это произойдет.

Я хотел знать, есть ли у кого-нибудь опыт или идеи, и если это реалистичный вариант.

Спасибо, как всегда!

5 Solutions collect form web for “Мнение о графическом интерфейсе для игры «Броненосец» в Python”

В Tkinter это довольно тривиально. Игра с линкором показывает массив координат, который вы можете отображать в виде сетки контрольных кнопок.

Вы можете проверить Kivy , он работает в верхней части OpenGL, предоставляет виджеты основы для дисков (метка, кнопка, слайдер, текстовая запись, макеты, …), и вы можете создавать свою собственную графику отображения и т. Д. Работает как структура python, почти все платформы.

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

Почему бы вам не попробовать Cocos2D? Это более высокий уровень, и он поддерживает богатую маркировку (класс cocos.text.RichLabel)

http://cocos2d.org/

Я предлагаю вам использовать pyqt / pyside для этой задачи. Это позволяет вам получить доступ к мощной инфраструктуре Qt, которая имеет отличную документацию. Если вы разрабатываете игру, которая не нуждается в быстрой графике, вы можете просто использовать QGraphicsView / QGraphicsScene и связанные классы для отображения значков / номеров / независимо. Конечно, вы можете использовать OpenGL с Python и Qt.

Вы можете отображать текст на pygame, просто используйте:

класс pygame.font.Font

#create a new Font object from a file pygame.font.Font(filename, size): return Font pygame.font.Font(object, size): return Font 

метод Font.render

 #method of Font() to draw text on a new Surface Font.render(text, antialias, color, background=None): return Surface 

Простой пример использования текста в pygame:

 from pygame import font as pgfont, sprite as pgspr import pygame as pg class FontSprite(pgspr.DirtySprite): def __init__(self, text, x, y): '''self.image = surface''' pgspr.DirtySprite.__init__(self) self.text = text self.color = [0,0,0] self.image = self.get_image() self.rect = pg.Rect((x, y), self.image.get_size()) def get_image(self): self.dirty = 1 return pgfont.Font('fonts\\BRLNSR.TTF', self.size).render(self.text, True, self.color) 
  • Выравнивание вкладок справа налево с помощью виджета ttk.Notebook
  • AttributeError: объект «NoneType» не имеет атрибута «grid_remove»
  • ImportError: нет модуля с именем _imagingtk
  • cx_Freeze ImportError: невозможно импортировать имя
  • Python, tkinter: Почему этот jpeg не отображается?
  • python - While Loop приводит к сбою всей программы в Tkinter
  • Как я могу определить, когда кнопка выпущена в Tkinter?
  • Пакет Python-tk не распознается в Python 2.7.3
  • Печать значений в определенное время с помощью Tkinter
  • Как обновить изображение на метке tkinter?
  • Почему мой виджет Button не будет расширяться вертикально
  •  
    Interesting Posts for Van-Lav

    В Python, как я могу указать, что я переопределяю метод?

    Как сделать POST с jQuery / Ajax в Django?

    Настройка SMTP Python Django Gmail

    Сервер разработки GAE сохраняет индексы полного текста после перезапуска?

    Flask не получает данные из данных запроса jQuery

    Когда где и как я могу изменить __class__ attr объекта?

    Итерация из определенной строки файла csv в Python

    Как сделать много-много запросов Django, чтобы найти книгу с двумя авторами?

    Эквивалент Python функции существования () Scala?

    Как сортировать dataFrame в python pandas двумя или более столбцами?

    Есть ли инструмент статического анализа для Python, Ruby, Sql, Cobol, Perl и PL / SQL?

    Android Studio: IncorrectOperationException при нажатии кнопки «Добавить в библиотеку» при попытке настроить клиентские библиотеки конечных точек Google Apps

    Конкатенация строк и замена строк в Python

    Что такое эквивалент Matlab 'fscanf' в Python?

    Функция добавления пользовательских входов в список

    Python - лучший язык программирования в мире.