Flutterアプリでジャイロセンサーの値を取得する方法

  • URLをコピーしました!

センサーの値を取得する方法についてはこちらの書籍を大いに参考にしました。
03.センサー|Flutter実践入門 (zenn.dev)

まずはセンサーを取り扱うパッケージを導入します。
pubspec.yamlのdependencies以下にsensors_plusを追加します。

dependencies:
 flutter:
   sdk: flutter
 sensors_plus: ^2.0.2 # 20230326時点で最新 バージョンは適宜新しいものにする 

dartのソースコードで値を取得する部分は以下のようにします。

import 'package:sensors_plus/sensors_plus.dart';

中略

    // ジャイロセンサーの値を取得するリスナーを登録
    gyroscopeEvents.listen(
      (GyroscopeEvent event) {
        event.x // x軸の値
        event.y // y軸の値
        event.z // z軸の値
      }
    );

つちのこあつめのアプリではx軸とy軸の値のみを使用しています。
傾きと値の変化は以下のように対応しています。

奥に傾ける:event.xの値が減少
手前に傾ける:event.xの値が増加
右に傾ける:event.yの値が増加
左に傾ける:event.yの値が減少

ジャイロセンサーは端末によってイベントが発生する間隔や取得する値に差があるようですので、この差を補正できない限りは公平性が必要なゲームに使用するべきではないと感じました。

次回以降はこの値を使って画像を動かす方法を紹介したいと思います!

ツチノコテクノロジーに開発・保守を発注しませんか?

Laravel・Flutterの開発・保守をツチノコテクノロジーに発注しませんか?

まずはZOOMで打ち合わせ

お申し込みはこちら

ツチノコテクノロジーでは一緒に働く仲間を募集しています!

完全リモートで働きたい方へ!

詳しくは以下をご覧ください。

ツチノコテクノロジー採用サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ツチノコテックアカデミアの記事は、社内で誰かが質問してくれたことに回答したときに、ついでに記載しています!(^^)/
みんなの悩みを共有すれば、きっと誰かの役に立つと信じて更新しています!

目次