Unity3D对手机屏幕触摸的控制脚本
生活随笔
收集整理的這篇文章主要介紹了
Unity3D对手机屏幕触摸的控制脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Unity判斷手勢觸摸的類型,判斷手勢的滑動方向,并獲取剛觸摸以及觸摸結束時的坐標
單點觸摸
Input.touchCount == 1
移動觸摸
Input.GetTouch(0).phase == TouchPhase.Moved
多點觸摸
Input.touchCount > 1
判斷兩只手指至少有一只為移動觸摸
Input.GetTouch(0).phase == TouchPhase.Moved || Input.GetTouch(1).phase == TouchPhase.Moved
/***判斷是否為單點觸摸 **/ public static bool singleTouch() {if (Input.touchCount == 1) {return true;}return false; }/*** 判斷單點觸摸條件下,是否為移動觸摸 **/ public static bool moveSingleTouch() {if (Input.GetTouch(0).phase == TouchPhase.Moved) return true;return false; }/*** 判斷是否為多點觸摸 **/ public static bool multipointTouch() {if (Input.touchCount > 1) return true;return false; }/*** 判斷兩只手指至少有一只為移動觸摸**/ public static bool moveMultiTouch() {if (Input.GetTouch(0).phase == TouchPhase.Moved || Input.GetTouch(1).phase == TouchPhase.Moved)return true;return false; }/*** 新建一個公共方法用于判斷手指的移動方向* 假如是往左或者往上 則模型往各個軸的正方向位置移動 函數返回1* 假如是往右或者往下 則模型往各個軸的負方向位置移動 函數返回-1* **/int judgeFinge() {if (Input.GetTouch(0).phase == TouchPhase.Began && startPosFlag == true) {//Debug.Log("-========開始觸摸========");startFingerPos = Input.GetTouch(0).position;startPosFlag = false;}if (Input.GetTouch(0).phase == TouchPhase.Ended) {//Debug.Log("-=========釋放觸摸============");startPosFlag = true;}nowFingerPos = Input.GetTouch(0).position;xMoveDistance = Mathf.Abs(nowFingerPos.x - startFingerPos.x);yMoveDistance = Mathf.Abs(nowFingerPos.y - startFingerPos.y);if (xMoveDistance > yMoveDistance) {if (nowFingerPos.x - startFingerPos.x > 0) {//Debug.Log("=============沿著X軸負方向移動========");backValue = -1; //沿著X軸負方向移動} else {//Debug.Log("=============沿著X軸正方向移動==========");backValue = 1; //沿著X軸正方向移動}} else {if (nowFingerPos.y = startFingerPos.y > 0) {//Debug.Log("============沿著Y軸正方向移動==========");backValue = 1; //沿著Y軸正方向移動} else {//Debug.Log("==========沿著Y軸負方向移動============");backValue = -1; //沿著Y軸負方向移動}}return backValue; }?
總結
以上是生活随笔為你收集整理的Unity3D对手机屏幕触摸的控制脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: notepad去除每行空格后面的所有的内
- 下一篇: TCP粘包和拆包原因