スマホ機能のまとめ
新入力システム(Input System)
タッチ・マルチタッチ
有効化・無効化
using UnityEngine.InputSystem.EnhancedTouch;
// 有効化
EnhancedTouchSupport.Enable()
// 無効化
EnhancedTouchSupport.Disable()
各タッチのイベント

using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch;
// 画面を触れ始めたとき
Touch.onFingerDown += 処理メソッド;
// 指は移動中のとき
Touch.onFingerMove += 処理メソッド;
// 指が画面から放したとき
Touch.onFingerUp += 処理メソッド;
イベントを受け取るメソッド
// finger: 指のデータ
void 処理メソッド(Finger finger)
{
// イベントを処理
}
タッチの全体状態
// 現在画面を触れている指の本数(int型)
Touch.activeTouches;
// 現在画面を触れている指のデータ(Finger配列型)
Touch.activeFingers;
指のデータ(Finger)
// タッチした画面の位置(Vector2型)
finger.screenPosition
// タッチした指の順番(int型)
// 0 = 1本目
// 1 = 2本目
// 2 = 3本目
// …
// 9 = 10本目
finger.index
加速度センサー、スマホの傾き
有効化・無効化
using UnityEngine.InputSystem;
// 使えるか?
bool canUse = Accelerometer.current != null;
// 有効化
InputSystem.EnableDevice(Accelerometer.current);
// 無効化
InputSystem.DisableDevice(Accelerometer.current);
位置を求める
// 加速度の値(3次元ベクトル)
Vector3 value = Accelerometer.current.acceleration.ReadValue();

加速度センサーの座標系
旧入力マネージャー(Input Manager)
以下の機能は「旧入力マネージャー」を使用する機能であるため、「プレーヤー設定」でアクティブな入力を適切に設定しなければならない。

コンパス、方位
有効化・無効化
// 有効化
Input.compass.enabled = true;
// 無効化
Input.compass.enabled = false;
向きを求める
// 方位(0度~360度の実数)
float value = Input.compass.trueHeading;
trueHeadingは度単位で表す方位である:

GPSの位置(緯度経度)
有効化・無効化
// 有効化
Input.location.Start();
// 無効化
Input.location.Stop();
位置を求める
// 位置情報
LocationInfo position = Input.location.lastData;
float lat = position.latitude; // 緯度
float lon = position.longitude; // 経度
No comments to display
No comments to display