unity3d
モバイルプラットフォーム
サーチ…
構文
- public static int Input.touchCount
- パブリック静的Touch Input.GetTouch(int index)
タッチの検出
Unityのタッチを検出するには、 Input.GetTouch()
を使用してインデックスを渡すだけで簡単です。
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
または
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
for(int i = 0; i < Input.touchCount; i++)
{
if (Input.GetTouch(i).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
}
これらの例は、最後のゲームフレームのタッチを取得します。
TouchPhase
TouchPhase列挙型の内部には、5種類のTouchPhase
- 始まった - 指が画面に触れた
- 移動 - 画面上で指が動いた
- 固定式 - 指は画面上にありますが、動いていません
- 終了 - 指を画面から持ち上げた
- キャンセル - システムがタッチのトラッキングをキャンセルしました
たとえば、オブジェクトを移動するには、このスクリプトはタッチに基づいて画面全体に貼り付けられます。
public class TouchMoveExample : MonoBehaviour
{
public float speed = 0.1f;
void Update () {
if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow