Androidアプリ開発の覚書き

Androidアプリ開発を、Kotlin, Jetpack Composeで行っています。気になったことをChatGPTに聞いて記事にしています。

グラフィックス

物理エンジンが便利そう:JBox2D

Javaで書かれたJBox2DならKotlinでも使えます。 物理エンジンは、フレームレートの調整なども行ってくれるようです。 今は気が進みませんが、気が向いたら、使ってみようと思います。 あと、蛇足ですが、「衝突検知」というと難しいと思っていましたが、単純…

Canvas上にキャラクターの画像を表示する(スプライトシート)

単に画像を表示するにしてもいろいろなやり方があるのですね。 キャラクターの上下左右向きの画像を一つの画像(スプライトシートという)として持ち、描画時に向きに対応した部分のみ切り抜いて表示するという手法を教えてもらいました。 Canvasを8x8のマスに…

ゲームプログラミングで用いる数学とAPI

数学が分からなくても、目的とするオブジェクトの座標変換はできるのですね。 これまで全然知らなかった世界です。 2Dのゲームプログラミングで有用な数学について教えてください。 AndroidのJetpack Composeを用いてアプリ開発をしています。挙げていただい…

Canvas上の動くオブジェクトを実装

Composable関数内のmutableState()でラップしたデータクラス等で定義したそのオブジェクトを、データを変更したオブジェクトで丸ごと置き換えることで、再描画に関連するComposable関数の更新処理をトリガーさせるという手順を取るようです。 ゲームループは…

Canvasでアニメーションを描画する場合は、ダブルバッファリングは不要

Jetpack ComposeのComposable関数で描画要素を定義する場合、その要素が参照する'State'のオブジェクトの値の変更は常にフレームワークによって検出されるよう構成され、値の変更に影響する部分のみが効率的に再描画されるようです。 昔、ゲームプログラミン…

2次元でキャラクターを操作するゲーム

Jetpack Composeで作った2次元ゲームの例を挙げてもらいました。 こんなにシンプルにできるんだと、びっくりしました。 AndroidのKotlinとJetpack Composeで、2次元でキャラクターを操作するゲームを作りたいです。 サウンドは後回しで良いです。キャラクタ…

簡単なゲームのUIには、Jetpack Composeが良いかも

画面上のキャラクターがタップで動いたりするような、簡単なグラフィックスのゲームを作るには、Jetpack Composeが良さそうです。 また、それに限らず、UIをXMLではなくKotlinのコードで作成出来るというのは、僕にとってはすごく心惹かれます。 早速、本を…