2026年5月31日日曜日

godotでandroid向けアプリを作る

godotで遊んでみて、適当に子供向けのプログラムを作った。ただミャクミャクが降ってきて物理演算しているだけだが、4〜5歳児としてはそこそこ暇つぶしにはなるようだ。

外出時にグダグダ言い出したときに与えられるようにandroidで動くようにしたが、godotだと意外と簡単だった。

と言ってもやったのは数ヶ月前なので、すでにかなりの部分を忘れてしまったが思い出した部分を書いておく。

操作

そのままandroidに持っていくと動かせなくて何も面白くない。CanvasLayerを作ってボタンを置いて、Actionを紐付ける。アイコンはgimpで文字書いたpngを作っただけ。これが一番面倒だった。

加速度センサーを使いたかったがうまく行かなくて断念。断念したあとに[プロジェクト設定] ->[入力デバイス]のところに加速度センサーとかを有効にする設定を見つけた。多分これチェックしておけば動いたんじゃなかろうか。まあもう面倒だからまた今度でいいや。 

android-sdk

android-sdkを入れる。javaも必要だった気がするが、自動的に入ったかもしれない。

apt install android-sdk

インストールしたらエディタの設定で指定する。linuxだとaptで入れるだけで便利。

debianでは/usr/lib/android-sdkに入るようだ。javaもdefault-javaのjvmを指定する。(/usr/lib/jvm/default-java)

export-templates

godotのサイトのダウンロードからexport-templatesとやらをダウンロードする。

ダウンロードしたら[エディター] -> [エクスポートテンプレートの管理]からインストールする。

多分これがgodotのメインアプリになって、あとはこの上でgdscriptが動くだけなんだろう。

c#を使っている場合はどうするんだろうと思ったが、export-templatesのc#版がありそうなのでそれで動くんだろうか。

export

[プロジェクト] -> [エクスポート]でエクスポートする。


できたapkファイルをandroidに持っていってインストールする。

実行

動いた。

いくつかandroidに入れてみて大体はなんの問題もなく動いたが、AQUOS sense 10だけ何か動きがおかしかった。弾を撃っても弾が動かない。

FPSの問題っぽい気がしたので、「なめらかハイスピード表示」とやらをgodotのアプリだけOFFにしたら問題が解決した。なめらかハイスピード表示とやらで 120FPSとかになっているのかもしれない。それによって時間の計算がうまく行かず弾が進まない?よくわからないがとりあえずOFFにして解決したので良しとする。

まあそもそもミャクミャクを弾で撃つなと言う話でもある。 

0 件のコメント:

コメントを投稿