1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class jarodInputController : MonoBehaviour {
  5.  
  6. private float fingerActionSensitivity = Screen.width * 0.05f; //手指动作的敏感度,这里设定为 二十分之一的屏幕宽度.
  7. //
  8. private float fingerBeginX;
  9. private float fingerBeginY;
  10. private float fingerCurrentX;
  11. private float fingerCurrentY;
  12. private float fingerSegmentX;
  13. private float fingerSegmentY;
  14. //
  15. private int fingerTouchState;
  16. //
  17. private int FINGER_STATE_NULL = ;
  18. private int FINGER_STATE_TOUCH = ;
  19. private int FINGER_STATE_ADD = ;
  20. // Use this for initialization
  21. void Start ()
  22. {
  23. fingerActionSensitivity = Screen.width * 0.05f;
  24.  
  25. fingerBeginX = ;
  26. fingerBeginY = ;
  27. fingerCurrentX = ;
  28. fingerCurrentY = ;
  29. fingerSegmentX = ;
  30. fingerSegmentY = ;
  31.  
  32. fingerTouchState = FINGER_STATE_NULL;
  33. }
  34. // Update is called once per frame
  35. void Update ()
  36. {
  37.  
  38. if (Input.GetKeyDown (KeyCode.Mouse0))
  39. {
  40.  
  41. if(fingerTouchState == FINGER_STATE_NULL)
  42. {
  43. fingerTouchState = FINGER_STATE_TOUCH;
  44. fingerBeginX = Input.mousePosition.x;
  45. fingerBeginY = Input.mousePosition.y;
  46. }
  47.  
  48. }
  49.  
  50. if(fingerTouchState == FINGER_STATE_TOUCH)
  51. {
  52. fingerCurrentX = Input.mousePosition.x;
  53. fingerCurrentY = Input.mousePosition.y;
  54. fingerSegmentX = fingerCurrentX - fingerBeginX;
  55. fingerSegmentY = fingerCurrentY - fingerBeginY;
  56.  
  57. }
  58.  
  59. if (fingerTouchState == FINGER_STATE_TOUCH)
  60. {
  61. float fingerDistance = fingerSegmentX*fingerSegmentX + fingerSegmentY*fingerSegmentY;
  62.  
  63. if (fingerDistance > (fingerActionSensitivity*fingerActionSensitivity))
  64. {
  65. toAddFingerAction();
  66. }
  67. }
  68.  
  69. if (Input.GetKeyUp(KeyCode.Mouse0))
  70. {
  71. fingerTouchState = FINGER_STATE_NULL;
  72. }
  73. }
  74.  
  75. private void toAddFingerAction()
  76. {
  77.  
  78. fingerTouchState = FINGER_STATE_ADD;
  79.  
  80. if (Mathf.Abs (fingerSegmentX) > Mathf.Abs (fingerSegmentY))
  81. {
  82. fingerSegmentY = ;
  83. }
  84. else
  85. {
  86. fingerSegmentX = ;
  87. }
  88.  
  89. if (fingerSegmentX == )
  90. {
  91. if (fingerSegmentY > )
  92. {
  93. Debug.Log ("up");
  94. }
  95. else {
  96. Debug.Log ("down");
  97. }
  98. }
  99. else if(fingerSegmentY == )
  100. {
  101. if(fingerSegmentX > )
  102. {
  103. Debug.Log ("right");
  104. }
  105. else
  106. {
  107. Debug.Log("left");
  108. }
  109. }
  110.  
  111. }
  112. }

Unity 手指上下左右滑动的判定的更多相关文章

  1. Android监测手指上下左右滑动屏幕

    在开发android程序时,有时会需要监测手指滑动屏幕,当手指朝上下左右不同方向滑动时做出不同的响应,那怎么去实现呢? 利用Android提供的手势监测器就可以很方便的实现,直接上代码(已测试通过) ...

  2. 23web app实现上下左右滑动

    转载请说明出处:http://blog.csdn.net/wowkk/article/category/1619287 (创意系列) /*最近项目须要苹果电脑,假设您支持学生创业并愿意赞助我们一台,请 ...

  3. Android上下左右滑动,显示底层布局

    转载博客地址:http://www.cnblogs.com/flyme2012/p/4106308.html 闲着没事做了一个小东西.Android的上下左右滑动,显示底层布局.可以做类似于QQ消息列 ...

  4. 手指向上滑动跳转页面的JQ方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. jquery手指触摸滑动放大图片的方法(比较靠谱的方法)

    jquery手指触摸滑动放大图片的方法(比较靠谱的方法) <pre><!DOCTYPE html><html lang="zh-cn">< ...

  6. JavaScript之屏幕上下左右滑动监听

    前言 存在这么一个需求,根据用户在屏幕不同的滑动方向(上.下.左.右),使用js脚本判断出不同的滑动行为,更新网页为不同的界面. 源码 参考了博文[1]的源码,但由于存在一些漏洞,比如:上下滑动事件监 ...

  7. js中一个函数调用另一个函数变量;判断鼠标按住/手指左右滑动

    <script> function myFunction() { var x1=event.clientX;//只需要将被调用的变量前的var删除即可在下个函数调用: document.g ...

  8. HTML5 移动端的上下左右滑动问题

    在移动端页面上,如果要实现[顶部轮播,手指触摸左右滑动]我的方案是,通过监听滑动,阻止默认事件来完成 div.addEventListener('touchmove',function(event){ ...

  9. 浅谈移动端之touch事件--手指的滑动事件

    今天台风‘海马’袭击深圳,全市停工.现分享一篇关于touch的文章,望指教! 原理: 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touch ...

随机推荐

  1. re正则表达式16_managing complex regexes

    Managing Complex Regexes Regular expressions are fine if the text pattern you need to match is simpl ...

  2. macbook pro的usb串口失效的的处理方法

    macbook pro的usb串口失效的的处理方法 2011-08-24 12:14:32|  分类: mac|举报|字号 订阅     今天开电脑,无端端一个usb的串口失效了,接入鼠标 iphon ...

  3. ecshop商品-》获取促销商品

    lib_goods.php->function get_promote_goods(){} /** * 获得促销商品 * * @access public * @return array */ ...

  4. Robot Framework--05 案例设计之流程与数据分离

    转自:http://blog.csdn.net/tulituqi/article/details/7651049 这一讲主要说一下案例设计了.还记得我们前面做的case么?先打开浏览器访问百度,输入关 ...

  5. Apache源码包安装和子配置文件介绍--update.2014-12-5

    安装apache: 官网:http://httpd.apache.org/download.cgi#apache24 1.wget http://mirror.bit.edu.cn/apache//h ...

  6. 安装docker管理工具rancher

    http://blog.csdn.net/freewebsys/article/details/51136562 docker(2):安装docker管理工具rancher rancher是一个Doc ...

  7. 解决子元素margin让父辈元素位置一起改变的问题

    1.在父元素内添加内容,并且要在子元素块前面添加,后面添加内容无效. 内容可以是文字.图片甚至是空格,源代码里直接按空格无效,可以用占位符  2.让子元素或父元素浮动float:left. 缺点:在元 ...

  8. 【转载】 C中的access函数

    分类: C/C++ int   access(const   char   *filename,   int   amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在 ...

  9. PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。

    PPTP PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可 ...

  10. JavaScript基础整理(2)

    接下来的重点是函数.我们知道函数是特殊的对象. 函数作用域和声明提前.JavaScript中没有块级作用域,只有函数作用域:变量在声明它们的函数体以及这个函数体嵌套的任意 函数体内都要定义. func ...