Самый простой способ получить начальный ввод текста в Pygame - PullRequest
1 голос
/ 12 июля 2011

Итак, у меня есть приложение Pygame.Сейчас требуется аргумент командной строки, чтобы указать, на каком дисплее показывать главный экран.Тем не менее, я запускаю его в Windows, где трудно указать ввод командной строки для графического приложения.

Итак, я хотел бы иметь очень очень очень простое диалоговое окно, которое всплывает, запрашиваетПользователь для целого числа, затем закрывается.Мои исследования показали, что pygame не может создать диалоговое окно, подобное этому, и я не могу получить данные в окне pygame, потому что программа еще не знает, к какому монитору рисовать окно pygame.

Итак, мой вопрос: как проще всего создать диалоговое окно для ввода?Я посмотрел в WX и Tkinter.Я мог бы использовать любой из них, но мне интересно, но я хочу импортировать наименьшее количество дополнительных наборов инструментов.то есть я не хочу запускать основной цикл wx только для того, чтобы я мог создать 1 диалоговое окно, затем закрыть его, а затем запустить новое окно Pygame.

Я знаю, как это сделать в wx, поэтомуВ основном я ищу советы / идеи относительно того, какой инструментарий будет наиболее простым, в отличие от инструкций о том, как на самом деле это сделать (хотя это тоже всегда приятно).

Ответы [ 3 ]

1 голос
/ 12 июля 2011

Поскольку tkinter встроен в Python, он может быть лучше.Я предпочитаю wx, но если вам просто нужно несколько диалогов, то с tkinter все в порядке.

Вы также можете просто попробовать raw_input('type "1" for low res, "2" for high res').Я думаю, что это вызывает диалоговое окно в Windows.

1 голос
/ 12 июля 2011

Это, вероятно, уродливый способ сделать это, но в итоге я использовал расширения win32.Я нашел здесь базовый класс:

http://www.java2s.com/Open-Source/Python/Windows/pyExcelerator/pywin32-214/pythonwin/pywin/mfc/dialog.py.htm

Я уже использовал их, поэтому мне не нужно было импортировать новые пакеты.Тем не менее, это, вероятно, не очень хорошее общее решение ...

1 голос
/ 12 июля 2011

Лучшим решением может быть просто предположить, что вы идете на первый монитор.В игре у вас может быть опция конфигурации, которую вы сохраняете в конфигурационном файле для последующего чтения, который может выбрать пользователь.Если пользователь решит, что ваше приложение находится на неправильном мониторе, вы должны просто сообщить ему, что ему придется перезапустить ваше приложение, чтобы изменения вступили в силу.

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

Редактировать:

Если вы полностью настроены против этого, вы можете написать ваше приложение как два приложения, примерно так:

try:
    configfile = file("path/to/config")
except IOError:
    import Tkinter
    # make a tkinter interface to set the screen options
    configfile = file("path/to/config", "w)
    configfile.write(options)
    os.execl("path/to/self")
else:
    import pygame
    screen = read_config(configfile)
    # your pygame code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...