单双击屏幕
public Text txt;
void Update () {
//TouchPhase.Began:一个手指按下 TouchPhase.Move:一个手指移动 TouchPhase.Stationary:一个手指按着不动
//TouchPhase.Ended:一个手指离开屏幕
if (Input.touchCount > 0)//单击屏幕
{
Touch t = Input.GetTouch(0);//获得第一根手指
if(Input.touchCount==1 && t.phase == TouchPhase.Began)
{
txt.text = "单击了屏幕";
}
if (Input.touchCount ==2)
{
txt.text = "双击了屏幕";
}
}
}
触摸屏幕手指控制物体移动
public Transform currTouchObj;
float touchObjMoveSpeed = 3f;
void Update()
{
if (Input.touchCount == 1)
{
Touch firstTouch = Input.GetTouch(0);
if (firstTouch.phase == TouchPhase.Began)
{
Ray ray = Camera.main.ScreenPointToRay(firstTouch.position);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
//获取当前触摸到的物体
currTouchObj = hit.collider.transform;
}
}
if (Input.GetTouch(0).phase == TouchPhase.Moved)
{
if (currTouchObj)
{
Vector3 touchDeltaPos = Input.GetTouch(0).deltaPosition;
currTouchObj.Translate(touchDeltaPos.x * touchObjMoveSpeed, touchDeltaPos.y * touchObjMoveSpeed, 0, Space.World);
}
}
}
}