2011-07-05 3 views
4

私はPythonには比較的新しいですし、いくつかの便利なツールといくつかの小さなゲームを10個のスプライトで作ることができました。パフォーマンスに基づいて私の次の論理的なステップは、Pygameのパフォーマンスを向上させるためにC拡張を作成することだと思います。Pygame; Cエクステンションを作る

私の最初の最初の質問はpygameです。Cでメインループを作ることはできますか(またはSDLとインターフェースする必要がありますか?)。とスプライト、私は厳密にスプライトを処理し、ゲームのスクリプト目的のためだけにPythonを使用するCコードを作ることができますか?

+0

十分速く実行されている場合は、C言語でその一部を書き換える必要はありません。実際、逆効果である可能性があります。 – delnan

+0

私の友人がパイゲームの「スプライト」のために10-15fpsしか得られない他のゲームの中でブレークアウト・バリアントを作ったので、私は実際には同意しません – noboody

答えて

3

コードを理解することなく、これらの提案を行うことができます。 Cモジュールを記述してパフォーマンスを向上させるのではなく、あなたが書いたPythonコードを最適化してみてください。これを行う方法に関する良い記事はarticle about patterns at Python.orgにあります。

メインループに関する質問に答えるには、メインループの意味に依存します。あなたはint main(int argc, char *argv[])を意味しますか、またはSDL_mainについて話していますか?

スクリプト目的でPythonを実行するCプログラムを作成できます。 Pythonスクリプトとして実行することができます。Pythonスクリプトは、余分なパフォーマンスを得るためにCモジュールを実行します。私は、あなたがミックスして、PythonとCでもSDLを使ってマッチできるのかどうかはわかりませんが、なぜうまくいかないのか分かりませんが、やってみることはありません。

関連する問題