- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!自キャラを動かす(モバイル)
参考:
http://docs-jp.unity3d.com/Documentation/Manual/Input.html
iOS/androidの場合はInput.touchesの配列からタッチ情報を取得できます。
!!押された数を取得
void FixedUpdate () {
touchCou = 0;
foreach (Touch touch in Input.touches) {
if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
touchCou++;
}
}
指で複数を同時押しした場合、touchCouにその押された数が返ります。
touch.phaseが「TouchPhase.Ended」もしくは「TouchPhase.Canceled」の場合はそのタッチは無効。
Nexus7の場合は同時に10個判定可能。
!!押された位置を取得
void FixedUpdate () {
for (int i = 0; i < Input.touches.Length; i++) {
Touch touch = Input.touches[i];
if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled) {
Vector2 pos = touch.position; // 位置
}
}
}
Nexus7では、スクリーン左下が(0, 0)、右上が(1280, 80)。
Nexus7では、スクリーン左下が(0, 0)、右上が(1280, 800)。
!!タッチの状態
Touch touch = Input.touches[i];
としたときの「touch.phase」はタッチ状態が入ります。
,値,状態
,TouchPhase.Began,タッチした瞬間
,TouchPhase.Moved,タッチしたまま移動中
,TouchPhase.Stationary,タッチしているが移動していない
,TouchPhase.Ended,タッチから離れた
,TouchPhase.Canceled,タッチのトラッキングがキャンセル
これで、現在指を押したまま移動中かどうかを判断できます。
----
{{lastmodified}}