こんにちは😀
今回は、スマホの傾きでボールが移動するアプリ作成の続きです。
一先ず、画面作成まではできました。
AVD(エミュレータ)で傾きを検知する方法がわかったのでその紹介からいきます。
AVDでのスマホを傾かせる
まずは、AVDを起動します。
このままだとスマホ画面を操作することは可能ですが、エミュレータ自体を傾けることはできません。
そこで、右側の枠の一番下にある「…」をクリックします。
すると、以下の画面が開きます。
左側の項目「Virtual sensors」を押すと以下のスマホ全体が映った画面が表示されます。
そして、このスマホをドラッグするとスマホ自体を傾かせることができます。
下にある「Z-Rot」「X-Rot」「Y-Rot」のバーを動かすことでも傾かせることができます。
正面を向いた状態です。
「Z-Rot」「X-Rot」「Y-Rot」のバーが真ん中にあります。
「Z-Rot」を動かすと、反時計に回転します。
「X-Rot」を動かすと、上下に回転します。
「Y-Rot」を動かすと、左右に回転します。
回転に合わせて、エミュレータの方も動きます。
チェックを「move」に入れると、スマホの位置調整ができます。
以下は、Xを調整しています。
画面上方の「Additional sensors」タブを選択すると画面が切り替わります。
ここでは、「Ambient temperature」(温度)、「Magnetic field」(磁場)、「Proximity」(近接)、「Light」(光度)「Pressure」(圧力)、「Relative humidty」(湿度)を調整できます。
幅広くセンサー設定が可能です。
Kotlinのクラスにジャイロセンサーの設定を書く
では、Kotlinの処理を書いていきます。
以下は、MainActivity.ktの自動作成後の状態です。
書き方がKotlinになっています。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
そして、ジャイロセンサーの機能を追加するために、SensorEventListenerを継承させる必要があります。
継承を追加させると以下のようになります。
class MainActivity : AppCompatActivity(),SensorEventListener {
…….(省略)…….
}
ここからは、次回以降にやっていきます。
今回の一言・・・
AVDで、エミュレータでの傾きを検知する方法もあり便利と感じました。
Kotlinの実装にはまだまだ慣れが必要と感じましたが、じっくりやっていこうと思います。
今回はここまで🤚
では、また次回。
コメント