私の知り合いの結果をPython(これは少し前に始まった)、特によく知られているPygameメディアライブラリ(同様によく知られているSDLのラッパー)のAndroidプラットフォーム上のポートと共有したいです。 投稿のトピックをハブで検索しても結果が返されなかったため、これまでトピックが取り上げられていないと想定するリスクがありますが、同時に、Androidを含むメディアコンテンツを使用するアプリケーションの開発にPythonを使用することに興味がある人にとって興味深いものになります。
だから、Android用のPygameサブセット(PS4A)。
Android用Pygameサブセットは、AndroidプラットフォームへのPygame機能のサブセットのポートです。 このプロジェクトの目標は、Android固有のゲームの作成を許可し、PCのようなプラットフォームからAndroidへのゲームの移植を容易にすることです。
PS4A Webサイトのメインページが訪問者に会うのはこのテキストです。 ここでは、Androidマーケットから.apkをダウンロードしてインストールするためのリンク、および既存のドキュメントの目次を簡単に見つけることができます。 実際、ドキュメントには、移植されたモジュールのリスト(この方法でグループに分割されます:android、android_mixer、pygame、Python)および特定のアクションを実行するためのマニュアルがあります。 正直なところ、ドキュメントの量は印象的ではありませんが、最初はそれで十分です。 サイトには、アプリケーションテンプレート(「ゲームの作成」という推奨タイトルがありますが、非常に簡略化されています-完成したアプリケーションは以下のリンクからダウンロードできます)、および親テクノロジー/ライブラリ(Pygame、SDL、Python、Jtar)へのリンクがあります。
Android向けのScripting Layerのおかげで、初めてAndroid向けのスクリプトを作成しようとしましたが、グラフィックの方向に機能が拡張されたことに興味がありました。 だから私はPS4Aに出会いました。 すぐに、次の機能を確認するデモを作成することが決定されました。
- 加速度計データの読み取り
- 出力グラフィックプリミティブ、スプライト
- テキスト出力
- パフォーマンステスト(つまり、FPS出力)
- タッチスクリーン入力
起こったことは次のとおりです。
左上隅に表示されます:FPS、最後に処理されたイベント、加速度計から読み取られたデータ、および表示されたプリミティブ(ラインとポイント)の総数。 FPSは、100以上のプリミティブをレンダリングした後、急速に低下します。 左下隅には、フレームごとに50ミリ秒の遅延を有効/無効にするためのtoogleボタンがあり、右下隅には、クリエイティブプロセスの結果から画面をクリアするボタンがあります。 ロボット(白い正方形の緑色の文字、スクリーンショットでは右下隅にあり、画面のクリアボタンの半分を広い背中の後ろに隠します)は、加速度計から読み取ったデータに応じて画面内を動き回ります。 デバイス上では、アプリケーションは正常に動作しますが、FPSは20〜25の領域を適度に維持します。
結論として、PS4Aを使用して本格的なゲームやメディアアプリケーションを開発できるとはほとんど言えません(パフォーマンスには多くの課題が残されていますが、OpenGLのサポートは計画どおりではありません)。
アプリケーション:
- 「ゲームの作成」のデモ (押すと画面の色が変わります)
- 私のデモ (麻酔薬と教祖の警告-コードはかなりかさばり、問題のエレガントな解決策のふりをしません)
(デバイスにインストールするには、アーカイブからアプリケーションを解凍し、/ sdcard / pygame / <separate_folder>に入力するだけで十分です。その後、PS4Aメインメニューに表示されます)。
参照:
- Android用Pygameサブセット-pygame.renpy.org
- Pygame-pygame.org/news.html
- 「Invent Your Own Computer Games with Python」という本のブログには、無料の電子書籍へのリンクもあります-inventwithpython.com/blog/category/code-comments