Skip to main content

スマホ機能のまとめ

タッチ・マルチタッチ

有効化・無効化

using UnityEngine.InputSystem.EnhancedTouch;

// 有効化
EnhancedTouchSupport.Enable()

// 無効化
EnhancedTouchSupport.Disable()

各タッチのイベント

image.png

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();

image.png

加速度センサーの座標系

コンパス、方位