当将Unity游戏运行到ios或android设备上时,桌面系统中的鼠标左键操作可以自动变为手机屏幕上的触屏操作,但鼠标操作无法实现一些特有的触屏操作,比如多点触屏。

触控对于Android移动设备来说是一种必不可少的交互方式,今天我们就来初步了解一下Unity3D中有关触控的API,下一篇中给大家演示如何使用Unity3D制作一个触控小Demo。
    Touch 是一个结构体,每当发生一次触摸,系统就生成一个Touch类型的变量,存储和本次触摸的相关信息。如果发生多点触控,那么系统会生成多个Touch类型变量。
    Touch有如下主要成员变量:

position触摸位置的坐标Vector2类型 
deltaPosition触摸的位置变化量Vector2类型当手指接触屏幕,向某一方向划动时起始位置到终止位置的变化量
deltaTime触摸的时间变化量float类型 
phase触摸所处阶段TouchPhase类型关于TouchPhase会在下边加心介绍

Input.touchCount 静态整形变量,当手一个手指触在屏幕上时,返回1,两个手指触在屏幕上时,返回2,依次类推。
    Input.GetTouch ( index : int ) 按序号获取触摸点(首个触摸点序号为0)。举例:当我一根手指触在屏幕上时,要获取该点的信息我们可以在Update方法中添加如下语句获取触点在:

如果有两个点呢?先来的就是Input.GetTouch(0),而后来的就是Input.GetTouch(1),依次类推。
    Input.touches 返回一个Touch类型数组,保存当前所有触摸点生成的Touch类型变量。
    TouchPhase 它是一个枚举类型,其中含有5种类型:

Began手指开始接触屏幕
Moved手指接触屏幕并在屏幕上划动
Stationary手指接触屏幕并保持不动
End手指离开屏幕
Cancel取消对本次触摸的跟踪
05-11 09:25