Unity 手指上下左右滑动的判定
- using UnityEngine;
- using System.Collections;
- public class jarodInputController : MonoBehaviour {
- private float fingerActionSensitivity = Screen.width * 0.05f; //手指动作的敏感度,这里设定为 二十分之一的屏幕宽度.
- //
- private float fingerBeginX;
- private float fingerBeginY;
- private float fingerCurrentX;
- private float fingerCurrentY;
- private float fingerSegmentX;
- private float fingerSegmentY;
- //
- private int fingerTouchState;
- //
- private int FINGER_STATE_NULL = ;
- private int FINGER_STATE_TOUCH = ;
- private int FINGER_STATE_ADD = ;
- // Use this for initialization
- void Start ()
- {
- fingerActionSensitivity = Screen.width * 0.05f;
- fingerBeginX = ;
- fingerBeginY = ;
- fingerCurrentX = ;
- fingerCurrentY = ;
- fingerSegmentX = ;
- fingerSegmentY = ;
- fingerTouchState = FINGER_STATE_NULL;
- }
- // Update is called once per frame
- void Update ()
- {
- if (Input.GetKeyDown (KeyCode.Mouse0))
- {
- if(fingerTouchState == FINGER_STATE_NULL)
- {
- fingerTouchState = FINGER_STATE_TOUCH;
- fingerBeginX = Input.mousePosition.x;
- fingerBeginY = Input.mousePosition.y;
- }
- }
- if(fingerTouchState == FINGER_STATE_TOUCH)
- {
- fingerCurrentX = Input.mousePosition.x;
- fingerCurrentY = Input.mousePosition.y;
- fingerSegmentX = fingerCurrentX - fingerBeginX;
- fingerSegmentY = fingerCurrentY - fingerBeginY;
- }
- if (fingerTouchState == FINGER_STATE_TOUCH)
- {
- float fingerDistance = fingerSegmentX*fingerSegmentX + fingerSegmentY*fingerSegmentY;
- if (fingerDistance > (fingerActionSensitivity*fingerActionSensitivity))
- {
- toAddFingerAction();
- }
- }
- if (Input.GetKeyUp(KeyCode.Mouse0))
- {
- fingerTouchState = FINGER_STATE_NULL;
- }
- }
- private void toAddFingerAction()
- {
- fingerTouchState = FINGER_STATE_ADD;
- if (Mathf.Abs (fingerSegmentX) > Mathf.Abs (fingerSegmentY))
- {
- fingerSegmentY = ;
- }
- else
- {
- fingerSegmentX = ;
- }
- if (fingerSegmentX == )
- {
- if (fingerSegmentY > )
- {
- Debug.Log ("up");
- }
- else {
- Debug.Log ("down");
- }
- }
- else if(fingerSegmentY == )
- {
- if(fingerSegmentX > )
- {
- Debug.Log ("right");
- }
- else
- {
- Debug.Log("left");
- }
- }
- }
- }
Unity 手指上下左右滑动的判定的更多相关文章
- Android监测手指上下左右滑动屏幕
在开发android程序时,有时会需要监测手指滑动屏幕,当手指朝上下左右不同方向滑动时做出不同的响应,那怎么去实现呢? 利用Android提供的手势监测器就可以很方便的实现,直接上代码(已测试通过) ...
- 23web app实现上下左右滑动
转载请说明出处:http://blog.csdn.net/wowkk/article/category/1619287 (创意系列) /*最近项目须要苹果电脑,假设您支持学生创业并愿意赞助我们一台,请 ...
- Android上下左右滑动,显示底层布局
转载博客地址:http://www.cnblogs.com/flyme2012/p/4106308.html 闲着没事做了一个小东西.Android的上下左右滑动,显示底层布局.可以做类似于QQ消息列 ...
- 手指向上滑动跳转页面的JQ方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- jquery手指触摸滑动放大图片的方法(比较靠谱的方法)
jquery手指触摸滑动放大图片的方法(比较靠谱的方法) <pre><!DOCTYPE html><html lang="zh-cn">< ...
- JavaScript之屏幕上下左右滑动监听
前言 存在这么一个需求,根据用户在屏幕不同的滑动方向(上.下.左.右),使用js脚本判断出不同的滑动行为,更新网页为不同的界面. 源码 参考了博文[1]的源码,但由于存在一些漏洞,比如:上下滑动事件监 ...
- js中一个函数调用另一个函数变量;判断鼠标按住/手指左右滑动
<script> function myFunction() { var x1=event.clientX;//只需要将被调用的变量前的var删除即可在下个函数调用: document.g ...
- HTML5 移动端的上下左右滑动问题
在移动端页面上,如果要实现[顶部轮播,手指触摸左右滑动]我的方案是,通过监听滑动,阻止默认事件来完成 div.addEventListener('touchmove',function(event){ ...
- 浅谈移动端之touch事件--手指的滑动事件
今天台风‘海马’袭击深圳,全市停工.现分享一篇关于touch的文章,望指教! 原理: 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touch ...
随机推荐
- re正则表达式16_managing complex regexes
Managing Complex Regexes Regular expressions are fine if the text pattern you need to match is simpl ...
- macbook pro的usb串口失效的的处理方法
macbook pro的usb串口失效的的处理方法 2011-08-24 12:14:32| 分类: mac|举报|字号 订阅 今天开电脑,无端端一个usb的串口失效了,接入鼠标 iphon ...
- ecshop商品-》获取促销商品
lib_goods.php->function get_promote_goods(){} /** * 获得促销商品 * * @access public * @return array */ ...
- Robot Framework--05 案例设计之流程与数据分离
转自:http://blog.csdn.net/tulituqi/article/details/7651049 这一讲主要说一下案例设计了.还记得我们前面做的case么?先打开浏览器访问百度,输入关 ...
- Apache源码包安装和子配置文件介绍--update.2014-12-5
安装apache: 官网:http://httpd.apache.org/download.cgi#apache24 1.wget http://mirror.bit.edu.cn/apache//h ...
- 安装docker管理工具rancher
http://blog.csdn.net/freewebsys/article/details/51136562 docker(2):安装docker管理工具rancher rancher是一个Doc ...
- 解决子元素margin让父辈元素位置一起改变的问题
1.在父元素内添加内容,并且要在子元素块前面添加,后面添加内容无效. 内容可以是文字.图片甚至是空格,源代码里直接按空格无效,可以用占位符 2.让子元素或父元素浮动float:left. 缺点:在元 ...
- 【转载】 C中的access函数
分类: C/C++ int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在 ...
- PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。
PPTP PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可 ...
- JavaScript基础整理(2)
接下来的重点是函数.我们知道函数是特殊的对象. 函数作用域和声明提前.JavaScript中没有块级作用域,只有函数作用域:变量在声明它们的函数体以及这个函数体嵌套的任意 函数体内都要定义. func ...