私はubuntuサーバーを搭載したPC(PC-104)でpygameを使用しています。このため、UIではなく端末しかありません。
私のラップトップでは、コードは完全に機能し、ターミナルでコードを実行すると「eg: python game.py」になりますが、PC104 では「ビデオ システムが初期化されていません」と表示されます。イベントを使用する方法であるため、エラーが表示されます。 UI のないシステムでは?
ありがとう。
jsbueno さん、ご回答ありがとうございます。数週間前に解決策を見つけることができましたが、質問に答えるのを忘れていました。
X11 以外のライブラリでは、pygame スクリプトを実行できませんでした。しかし、グラフィック ライブラリがなくてもスクリプトを実行できることがわかりました。SDL_VIDEOLIBRARY環境変数を「ダミー」に設定するだけです。
これは bash でも可能ですが、私は Python で行うことを好みます。
os.environ["SDL_VIDEODRIVER"] = "dummy"
これで、pygame スクリプトを実行したり、ジョイスティック イベントを検出したりできました。
フレームバッファまたはvgalibを使用するように設定すると、X11のないシステムでpygameプログラムを実行できます。ドキュメントでは、aalib(ターミナルでアスキーアートを使用してグラフィックを表示する)の使用についても説明しています。
ドキュメントのこの部分には次のようなものがあります。
Pygameは、初期化時にいくつかの内部ディスプレイバックエンドの1つから選択します。表示モードは、現在のユーザーのプラットフォームと権限に応じて選択されます。ディスプレイモジュールを初期化する前に、環境変数SDL_VIDEODRIVERを設定して、使用するバックエンドを制御できます。複数の選択肢があるシステムをここにリストします。
Windows:windib、directx
Unix:x11、dga、fbcon、directfb、ggi、vgl、svgalib、aalib
したがって、コードを開始する前に、SDL_VIDEODRIVER環境変数を設定する必要があります。そして、適切なlibをshureすること。がインストールされています。
詳細については、 http ://www.pygame.org/docs/ref/display.htmlをご覧ください。