触控对于Android移动设备来说是一种必不可少的交互方式,今天我们就来初步了解一下Unity3D中有关触控的API
Touch 是一个结构体 ,每当发生一次触摸,系统就生成一个Touch类型的变量,存储和本次触摸的相关信息。 如果发生多点触控,那么系统会生成多个Touch类型变量。 .
Touch有如下主要成员变量:
7 ?4 @6 K- i! m, U, v$ k
Input.touchCount 静态整形变量,当手一个手指触在屏幕上时,返回1,两个手指触在屏幕上时,返回2,依次类推。
' O" T2 L! G, e5 N9 Q$ y+ \& K
Input.GetTouch ( index : int ) 按序号获取触摸点(首个触摸点序号为0)。举例:当我一根手指触在屏幕上时,要获取该点的信息我们可以在Update方法中添加如下语句获取触点在: 如果有两个点呢?先来的就是Input.GetTouch(0),而后来的就是Input.GetTouch(1),依次类推。
Input.touches 返回一个Touch类型数组,保存当前所有触摸点生成的Touch类型变量。
0 f; t- @8 ~4 ] s: I4 F
TouchPhase 它是一个枚举类型,其中含有5种类型: 9 t/ L% a1 V/ `9 _- W2 b
Touch 是一个结构体 ,每当发生一次触摸,系统就生成一个Touch类型的变量,存储和本次触摸的相关信息。 如果发生多点触控,那么系统会生成多个Touch类型变量。 .
Touch有如下主要成员变量:
7 ?4 @6 K- i! m, U, v$ k
Input.touchCount 静态整形变量,当手一个手指触在屏幕上时,返回1,两个手指触在屏幕上时,返回2,依次类推。
' O" T2 L! G, e5 N9 Q$ y+ \& K
Input.GetTouch ( index : int ) 按序号获取触摸点(首个触摸点序号为0)。举例:当我一根手指触在屏幕上时,要获取该点的信息我们可以在Update方法中添加如下语句获取触点在: 如果有两个点呢?先来的就是Input.GetTouch(0),而后来的就是Input.GetTouch(1),依次类推。
Input.touches 返回一个Touch类型数组,保存当前所有触摸点生成的Touch类型变量。
0 f; t- @8 ~4 ] s: I4 F
TouchPhase 它是一个枚举类型,其中含有5种类型: 9 t/ L% a1 V/ `9 _- W2 b
如何判断是否点击到该对象:
Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
if (Physics.Raycast(ray)) {
//do
}