C#触摸屏点击测试

来源:互联网 发布:apache windows 32位 编辑:程序博客网 时间:2024/06/16 02:12
using UnityEngine;using System.Collections;public class TouchTest : MonoBehaviour {private Vector2 _VecFingerArea;//手指的移动范围private float _FlStateTime;//手指停留的时间private string _StrTip = "";//屏幕显示//private float _Str01 = 0;//private float _Str02 = 0;private bool _IsFirstTouch = false;  //是否是首次触摸private float  _FirstTouchTime;  //第一次触摸屏幕时间private float _SecondTouchTime;  //第二次触摸屏幕时间void Start () {}//end_Startvoid Update () {//代表一个手指,第一个触摸信息阶段是移动的话if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved) {//得到手指上的滑动XY的增量_VecFingerArea.x += Input.GetTouch (0).deltaPosition.x;_VecFingerArea.y += Input.GetTouch (0).deltaPosition.y;if (_VecFingerArea.x > 100) {_StrTip = "手指右滑";}if (_VecFingerArea.x < -100) {_StrTip = "手指左滑";} if (_VecFingerArea.y > 100) {_StrTip = "手指上滑";}if (_VecFingerArea.y < -100) {_StrTip = "手指下滑";}//_Str01 = _VecFingerArea.x;//_Str02 = _VecFingerArea.y;}//档手指离开屏幕的时候,进行清零操作if (Input .GetTouch(0).phase == TouchPhase.Ended) {_VecFingerArea = Vector2.zero;}//手指停留的操作if (Input.GetTouch(0).phase == TouchPhase.Stationary) {_FlStateTime += Input.GetTouch (0).deltaTime;if (_FlStateTime>1) {_StrTip = "发现手指停留";//清零_FlStateTime = 0;}}//识别手指双击if (Input.GetTouch(0).phase == TouchPhase.Began) {//第一次点击的时候_IsFirstTouch由false变为true_IsFirstTouch = true;//记录第一次触摸的时间_FirstTouchTime = Time.time;//如果第一次触摸是Trueif (_IsFirstTouch) {//记录第2次的触摸时间_SecondTouchTime = Time.time;}//如果第二次点击和第一次点击的时间差在0.05s到0.2s之间时,打印“发现手指双击”if (_SecondTouchTime - _FirstTouchTime >= 0.05f && _SecondTouchTime - _FirstTouchTime <=0.2f) {_StrTip = "发现手指双击";}}}//end_Updatevoid OnGUI(){//显示检测到的触摸信息GUILayout.Label(_StrTip);}}

0 0
原创粉丝点击