Pygame Zero に似たライブラリ

Pygame Zero は Python のトレンド、"zero" ライブラリ・シリーズのひとつとしてスタートしました。仲間たちがこれらの素晴しいライブラリを作っています。その内いくつかは、Pygame Zero と一緒に合わせて使うこともできます。

Network Zero

Network Zero を使うと複数のマシン、あるいは同一マシンの複数プロセスの相互検知とネットワーク通信を簡単に実現できます。

ご用心

Network Zero を Pygame Zero と一緒に使う場合、ブロック(ネットワークのメッセージ待ちで処理を止めてしまうこと)をさせてはいけません。Pygame Zero の中でこのブロックが発生すると、スクリーンのアニメーションや入力に対する応答処理なども止まってしまいます。 wait_for_s または wait_for_reply_s には常にオプションの値 0 秒を指定し、ブロックしないようにしてください。

GUI Zero

GUI Zero はウィンドウ、ボタン、スライダー、テキストボックスなどのグラフィカル・ユーザー・インターフェース (GUI) を作成するためのライブラリです。

ただし GUI Zero と Pygame Zero はそれぞれ異なるやり型でスクリーンの描画を行なっているため、両者を一緒に使うことはできません。

GPIO Zero

GPIO ZeroRaspberry Pi の General Purpose Input/Output (GPIO) ピンに接続されたデバイスを制御するためのライブラリです。

GPIO Zero 自体が独自のスレッドで動作するため、Pygame Zero と一緒に問題なく使うことができます。

ご用心

GPIO Zero のサンプルコードをコピーして試す際、 time.sleep() の呼び出しや while True: ループをそのまま使わないようにしてください。これらの処理は Pygame Zero のスクリーン・アニメーションや入力に対する応答処理などを止めてしまいます。関数を定期的に呼び出したいときは Clock を、フレーム毎に値のチェックをしたいときは update() を使うようにしてください。

Adventurelib

Adventurelib はテキストベースのゲームを書きやすくするためのライブラリです(ただし、何でも自動的にやってくれるわけではありません!)。

テキストベースのゲームを作るにはグラフィカルなゲームとはまったく異なるスキルが必要です。

Adventurelib は Pygame Zero よろもやや高度なレベルの Python プログラマを対象としています。

また Adventurelib は今のところ Pygame Zero と組み合わせて使うことはできません。

Blue Dot

Blue Dot を使うと、Android デバイスを Bluetooth リモート・コントローラにして、Raspberry Pi プロジェクトをワイヤレスで制御できます。

Blue Dot は通常、自身の独自のスレッドで動作するため、問題なく Pygame Zero と組み合わせて使うことができます。

ご用心

Pygame Zero と一緒に使う場合、 time.sleep() の呼び出し、 while True: ループや Blue Dot の wait_for_press および wait_for_release の使用は避けてください。これらの処理は Pygame Zero のスクリーン・アニメーションや入力に対する応答処理などを止めてしまいます。関数を定期的に呼び出したいときは Clock を、フレーム毎に値のチェックをしたいときは update() を使うようにしてください。

ちなみに

ここに掲載した以外のライブラリをご存じですか?

もし知っていたらイシュートラッカーに イシューを登録して 知らせてください。