質問
私はPythonでシミュレータを書いていますが、基本的な2Dアニメーションに関するオプションと意見に興味があります。アニメーションとは、レンダリング済みの画像を表示するのではなく、その場でレンダリングすることを指します。
現在matplotlib(Wxaggバックエンド)を使用していますが、使用を継続できる可能性はありますが、パフォーマンスや機能の面で十分に拡張できない可能性があります。
要件は次のとおりです。
- クロスプラットフォーム(Linux、MacOS X、 Windows)
- 低い複雑さのオーバーヘッド
- wxpythonでうまく動作します(少なくともお互いの足の指を過度に踏むことはありません)
- インタラクティブ。オブジェクトがクリック、マウスオーバーなどされたことを検出します。
高パフォーマンスはリストに含まれていませんが、画面上で〜100個のビットマップオブジェクトを処理する能力は優れていることに注意してください。
あなたの考えは?
解決
私は pyglet のファンです。これはwin32、linux、およびOS X。
オーバーヘッドは非常に低く、ウェブサイトのチュートリアルから確認できます。 wxpythonでうまく動作するはずです、または少なくともwxpythonとpygletが一緒に使用されていることに関するメーリングリストへの投稿を思い出すようです。
ただし、マウスクリックによるオブジェクトの選択は提供されません。これは、自分で処理する必要があります。一般に、2Dアプリケーションの場合、これはそれほど難しくありません。
mactorii は、純粋なpython + pygletで書かれた私のOS Xアプリケーションであり、基本的なアニメーション(スクロール)およびクリック検出。 wxpythonは使用しませんが、おそらく何が関係するのかを知ることができます。ただし、mactoriiは古いpyglet APIを使用しているため、そこにある実行ループは廃止されています。いつか更新します...:P
他のヒント
pygameを試すことができます。pygameは非常に扱いやすく、C ++のSDLに似ています