2011-07-11 21 views
1

これで、Iv'eはpygameアプリケーションを手に入れました。現在、メイン画面を表示するディスプレイを指定するには、コマンドライン引数が必要です。しかし、グラフィカルアプリケーションへのコマンドライン入力を指定するのは難しいウィンドウで実行しています。pygameで最初のテキスト入力を得る最も簡単な方法

だから、私は整数をユーザーに求めポップアップし、非常に非常に非常に簡単なダイアログボックスを持っているしたいのですが、その後、閉じます。私の研究は、pygameがこのようなダイアログボックスを行うことができないことを示しており、pygameウィンドウに入力を得ることはできません。

だから、私の質問は、入力用のダイアログボックスを作成する最も簡単な方法は何ですか?私はwxとtkinterを調べました。私はどちらかを使うことができましたが、私が思っていることはありますが、必要最小限のツールキットをインポートしたいのです。つまり、私はwxメインループを開始する必要はないので、1つのダイアログを作成してから閉じることができます。次に、新しいPygameウィンドウ全体を開始します。

私はwxでこれを行う方法を知っていますので、実際にどのように行うかについての指導とは対照的に、どのツールキットが最も簡単なのかアドバイス/アイデアを探しています。

+0

は、PythonのTkinterの持つ船はので、私はあなたが余分なライブラリをインストールする必要があるだろうとは思わない...これはおそらく良い一般的な解決策ではない、と述べました。私はそれがWindowsで本当であるかどうかわからない。 – nmichaels

+1

@nmichaels:もしあれば、TkinterはWindows上に存在する可能性が高くなります。ほとんどの場合、Windowsにはpython、公式ビルド、activestateビルドの2つのディストリビューションがあるからです。どちらもTkinterをサポートしています。多くのアプリケーションが実際にそれを使用するので、さまざまなパッケージでtkinterからcore python実行可能ファイルを分割します。 – SingleNegationElimination

+0

@TokenMacGuy:Nifty。 – nmichaels

答えて

1

これはおそらくそれを行うには醜い方法ですが、私がやってしまったことはWin32の拡張を使用していました。私はここで、基本クラスを見つけました:私はすでにそれを使用していたので、私はすべての新しいパッケージをインポートする必要はありませんでした

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

。それはそれは価値がある何のため

1

もっと良い解決策は、最初のモニターを使用していると仮定することです。ゲームでは、設定オプションを持つことができます。設定オプションは、ユーザが次に選択できる設定ファイルに保存します。ユーザーがアプリケーションが誤ったモニターにあると判断した場合は、変更を有効にするためにアプリケーションを再起動する必要があることを通知するだけです。

また、アプリケーションを最初に起動する前にこれを行うにはどのような設定オプションがあり、どのようにケースのユーザーにそれを設定したい(または必要)を説明するあなたの文書に目立つノートを置くことができます。

編集:

あなたはそれに対して死んでセットしている場合は、あなたがのアプリケーション、このようなものとして、あなたのアプリケーションを書くことができ:

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 
+0

残念なことに、指定する必要がある他のオプションがあり、それを監視するゲームがゲームプレイにとって不可欠です。とにかく、ありがとう! – jmite

1

TkinterにはPythonに組み込まれているので、それはかもしれませんより良くなる。私はwxが好きですが、いくつかの対話がほしいのであれば、tkinterは問題ありません。

また、単にraw_input('type "1" for low res, "2" for high res')を試みることができます。私はそれがWindowsでダイアログウィンドウを表示すると思います。