16

Python で非常にシンプルな 2D ゲームを開発したいと考えています。Pygame は Python でゲームを開発するための最も人気のあるライブラリですが、私はすでに wxPython に精通しており、快適に使用できます。テトリスのクローンも書いたことがありますが、とてもスムーズでした。

Pygame は、wxPython ができないグラフィック (音はさておき) に関して何を提供するのだろうか? wxPython よりも Pygame でグラフィックスを実行する方が簡単/高速ですか? さらにクロスプラットフォームですか?

ここで何かが欠けているように見えますが、何がわかりません。

4

2 に答える 2

19

理論的には、wxPython でできないことで Pygame でできることはありません。重要なのは何ではなく、どのようにするかです。私の意見では、PyGame でゲームを作成する方が簡単です。理由は次のとおりです。

  • それはより速いです。Pygame は、ゲーム専用に設計された C ライブラリである SDL に基づいており、速度を念頭に置いて開発されています。ゲーム開発にはスピードが必要です。

  • 汎用キャンバスではなく、ゲーム ライブラリです。スプライト、変換、入力処理、描画、衝突検出に役立つクラスと関数があります。また、ダーティ レクタングルやページ フリッピングなど、ゲームでよく使用されるアルゴリズムやテクニックも実装しています。

  • それを使って作られた何千ものゲームと例があります。トリックを行う方法を見つけるのが簡単になります。

  • 再利用できる効果とユーティリティを備えたライブラリがたくさんあります。アイソメトリック ゲームが必要な場合、ライブラリが必要な場合、物理エンジンが必要な場合、ライブラリが必要な場合、クールな視覚効果が必要な場合、ライブラリが必要な場合があります。

  • パイウィーク。:) これは、ゲームの開発をさらに楽しくするためのものです!

Tetris のような非常に単純なゲームの場合、違いはそれほど大きくありませんが、かなり複雑なゲームを開発したい場合は、PyGame のようなものが必要になるでしょう。

于 2008-12-05T14:35:58.753 に答える
13

wxPythonは、GUI指向のツールキットであるwxWidgetsに基づいています。実行しているシステムが提供するスタイルと装飾を使用できるという利点があるため、実行しているもののルックアンドフィールにうまく統合できるポータブルアプリケーションを非常に簡単に作成できます。チェックボックスが必要ですか?wxCheckBoxを使用すると、wxPythonが外観とインタラクションを処理します。

一方、pyGameはゲーム開発を対象としているため、wxPythonが行わない方法でハードウェアに近づくことができます(ほとんどのコントロールを描画するためにOSを呼び出すため、そうする必要はありません)。pyGameには、衝突検出、サーフェスとレイヤーのきめ細かい制御、選択した時間での表示バッファーの反転など、ゲームに関連するものがたくさんあります。

とは言うものの、グラフィックスに関しては、おそらく両方のツールキットでやりたいことを行う方法をいつでも見つけることができます。ただし、速度が重要な場合、またはテトリスよりもグラフィカルに負担のかかるゲームのアイデアを実装したい場合は、おそらくpyGameを使用したほうがよいでしょう。多くのGUI要素を使用したいが、派手なグラフィックやサウンド関数を必要としない場合は、wxPythonを使用することをお勧めします。

移植性は問題ではありません。どちらもビッグ3(Linux、OSX、Windows)で利用できます。

それは、本当に必要な特別な機能の種類の問題です。

于 2008-12-05T14:53:07.063 に答える