web-dev-qa-db-ja.com

AndroidのPygame

Pygameを使用して開発されたゲーム/アプリをAndroidの電話で実行する方法について、誰かが詳細な説明をくれないかと思っていました。私は最近、PacManのプログラミングを終了しましたが、私のコンピューターで完全に動作しますが、携帯電話で実行できれば素晴らしいと思います。 http://pygame.renpy.org/Android-packaging.htmlの指示に従ってみましたが、毎回IDLEで「Androidのインポート」を実行すると、モジュールが見つからなかったというエラーが表示されます。誰かがAndroidモジュールの設定方法を明確に説明できますか?

また、私のプログラムでは、if(event.key == K_UPまたはevent.key == K_w):direction = UPなどのコードを使用しました。ただし、電話には矢印キーはありません。ユーザーが指で画面を上から下、または左から右などにスワイプしたかどうかを確認するためにどのコードを使用する必要がありますか。

どんな助けでも素晴らしいでしょう。ありがとう<3

AndroidにはpyGameサブセットがあります。ただし、これには特別なやり直しとプログラムの変更が必要です。うまくいけば、それは難しいことではありません。

http://pygame.renpy.org/writing.html

http://pygame.renpy.org/index.html

しかし、あなたの2番目の質問については、まだ十分な経験がないので、私は日除けすることができません。

5
Fredwordsplat

Androidのpygameサブセットは良いと思いますが、その機能は信頼できません。クロスプラットフォームとしてkivyを使用します。Android Androidデバイスの画面上のフリップのタッチは、デスクトップ上のマウスの動きになるので、タッチをマウスの幸運として扱うと言います

2
Anihs Emma

最初の部分にはかなり良い答えがいくつかあるので、答えません。 (私もここで何を使うのか調べています!)

ただし、質問の2番目の部分ははるかに簡単です。

マウスダウンイベントでタッチの座標をMXおよびMY変数に保存するマウスオブジェクトを用意します。マウスアップイベントがトリガーされると、新しい座標を取得し、MXおよびMYとこの新しいポイントを使用してベクトルを計算します。スワイプの距離と角度。角度には三角法または数学モジュールを使用します(arctan2を調査)。

次に、これをif、Elif、elseで使用して、角度がどの象限であるかを判別し、距離が特定の値より大きい場合にスワイプが有効であったかどうかを判別できます。

私はモバイルを利用しているので、残念ながら例を示すことはできませんが、このガイダンスで解決策を考え出すのは間違いないでしょう。

2

2番目の質問については、別のWebサイトに回答があります。

https://amp.reddit.com/r/Python/comments/2ak14j/made_my_first_Android_app_in_under_5_hours_using/

それはあなたがこのようなコードを試すことができると言います

if Android:
    Android.map_key(Android.KEYCODE_BACK, pygame.K_ESCAPE)

お役に立てば幸いです。

0
flt