EasyTouch的使用
2016-06-03 21:09
666 查看
EasyTouch插件包含三个模块:Easy Button 、 Joystick 、 事件
关于按钮和事件这一块,在实际的工作中,你可以用Easy Button,也可以用其它插件,比如NGUI,效果上都是一样的
下面就具体说说Easy Button的使用,有两种使用方法:
方法一,请看如下截图
![](http://img.blog.csdn.net/20160603211522184)
![](http://img.blog.csdn.net/20160603211608842)
![](http://img.blog.csdn.net/20160603212346431)
![](http://img.blog.csdn.net/20160603212714107)
按钮使用方法二: 通过按钮的名字区分点击的是哪个按钮
![](http://img.blog.csdn.net/20160603214719292)
关于Joystick,重点掌握以下几个方面:
![](http://img.blog.csdn.net/20160603220457377)
关于Joystick必须掌握三个语句:
语句一: joystick.JoystickAxis
![](http://img.blog.csdn.net/20160603220956472)
语句二: float angle = move.Axis2Angle(true);
![](http://img.blog.csdn.net/20160603222714984)
语句三: move.joystickValue
最后对两个语句做个总结,如下图:
![](http://img.blog.csdn.net/20160604103043368)
![](http://img.blog.csdn.net/20160604103056306)
下面说说EasyTouch提供的一整套针对移动设备的事件,包括常用的单手指按下开始、单手指拖动、双手指拉大、双手指缩小、双手指扭动旋转等,代码如下:
FR:徐海涛(Hunk Xu) QQ群:386476712
关于按钮和事件这一块,在实际的工作中,你可以用Easy Button,也可以用其它插件,比如NGUI,效果上都是一样的
下面就具体说说Easy Button的使用,有两种使用方法:
方法一,请看如下截图
按钮使用方法二: 通过按钮的名字区分点击的是哪个按钮
关于Joystick,重点掌握以下几个方面:
关于Joystick必须掌握三个语句:
语句一: joystick.JoystickAxis
语句二: float angle = move.Axis2Angle(true);
语句三: move.joystickValue
最后对两个语句做个总结,如下图:
下面说说EasyTouch提供的一整套针对移动设备的事件,包括常用的单手指按下开始、单手指拖动、双手指拉大、双手指缩小、双手指扭动旋转等,代码如下:
using UnityEngine; using System.Collections; public class Photo : MonoBehaviour { private Vector3 deltaPosition; private Vector3 rotation; private bool newPivot=false; // Subscribe to events void OnEnable(){ EasyTouch.On_DragStart += On_DragStart; EasyTouch.On_Drag += On_Drag; EasyTouch.On_TouchStart2Fingers += On_TouchStart2Fingers; EasyTouch.On_TouchDown2Fingers += On_TouchDown2Fingers; EasyTouch.On_PinchIn += On_PinchIn; EasyTouch.On_PinchOut += On_PinchOut; EasyTouch.On_Twist += On_Twist; EasyTouch.On_Cancel2Fingers += On_Cancel2Fingers; } void OnDisable(){ UnsubscribeEvent(); } void OnDestroy(){ UnsubscribeEvent(); } void UnsubscribeEvent(){ EasyTouch.On_DragStart -= On_DragStart; EasyTouch.On_Drag -= On_Drag; EasyTouch.On_TouchStart2Fingers -= On_TouchStart2Fingers; EasyTouch.On_TouchDown2Fingers -= On_TouchDown2Fingers; EasyTouch.On_PinchIn -= On_PinchIn; EasyTouch.On_PinchOut -= On_PinchOut; EasyTouch.On_Twist -= On_Twist; EasyTouch.On_Cancel2Fingers -= On_Cancel2Fingers; } void On_Cancel2Fingers( Gesture gesture){ if (gesture.touchCount>0){ newPivot=true; } } // One finger drag void On_DragStart( Gesture gesture){ // restricted when there is only one touch if (gesture.touchCount==1){ // Calculate the delta position between touch and photo center position Vector3 position = gesture.GetTouchToWordlPoint(1); deltaPosition = position - transform.position; } } void On_Drag( Gesture gesture){ if (gesture.touchCount==1){ Vector3 position = gesture.GetTouchToWordlPoint(1); if (newPivot){ deltaPosition = position - transform.position; newPivot = false; } transform.position = position - deltaPosition; } } // when a two finger gesture begining void On_TouchStart2Fingers(Gesture gesture){ // Calculate the delta position between touch and photo center position Vector3 position = gesture.GetTouchToWordlPoint(1); deltaPosition = position - transform.position; } void On_TouchDown2Fingers(Gesture gesture){ // Moving during pinch & twist Vector3 position = gesture.GetTouchToWordlPoint(1); transform.position = position - deltaPosition; } // 双手指缩小 void On_PinchIn(Gesture gesture){ float zoom = Time.deltaTime * gesture.deltaPinch/25; Vector3 scale = transform.localScale ; if ( scale.x - zoom>0.1) transform.localScale = new Vector3( scale.x - zoom, scale.y -zoom,1f); } // 双手指放大 void On_PinchOut(Gesture gesture){ float zoom = Time.deltaTime * gesture.deltaPinch/25; Vector3 scale = transform.localScale ; if ( scale.x + zoom<3 ) transform.localScale = new Vector3( scale.x + zoom, scale.y +zoom,1f); } //双手指按压扭动旋转 void On_Twist( Gesture gesture){ transform.Rotate(new Vector3(0,0,gesture.twistAngle)); } }
FR:徐海涛(Hunk Xu) QQ群:386476712
相关文章推荐
- unity实现多点触控代码
- 在Unity中实现动画的正反播放代码
- Unity UGUI教程之实现滑页效果
- unity实现摄像头跟随
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- Unity3D-5.3.5发布VR项目到Android
- [软件资讯]Unity已支持将3D游戏导出成Flash
- ShaderLab: Pass
- Unity 武器拖尾效果
- unity常见问题之20题
- Unity3D动画存储插件
- unity 赛车相机跟随物体移动
- uLua中遇到的问题
- Unity3d 协程、调用函数、委托
- Unity3d摄像机Camera参数详解