Nextrek
@ 168
Nextrek / 3DSpace / Assets / EasyTouch / Example / C# Example / Examples for EasyTouch / Example-OneFinger / Drag.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
using UnityEngine; using System.Collections; public class Drag : MonoBehaviour { private TextMesh textMesh; private Vector3 deltaPosition; // Subscribe to events void OnEnable(){ EasyTouch.On_Drag += On_Drag; EasyTouch.On_DragStart += On_DragStart; EasyTouch.On_DragEnd += On_DragEnd; } void OnDisable(){ UnsubscribeEvent(); } void OnDestroy(){ UnsubscribeEvent(); } void UnsubscribeEvent(){ EasyTouch.On_Drag -= On_Drag; EasyTouch.On_DragStart -= On_DragStart; EasyTouch.On_DragEnd -= On_DragEnd; } void Start(){ textMesh = transform.Find("TextDrag").transform.gameObject.GetComponent("TextMesh") as TextMesh; } // At the drag beginning void On_DragStart( Gesture gesture){ // Verification that the action on the object if (gesture.pickObject == gameObject){ gameObject.GetComponent<Renderer>().material.color = new Color( Random.Range(0.0f,1.0f), Random.Range(0.0f,1.0f), Random.Range(0.0f,1.0f)); // the world coordinate from touch for z=5 Vector3 position = gesture.GetTouchToWordlPoint(5); deltaPosition = position - transform.position; } } // During the drag void On_Drag(Gesture gesture){ // Verification that the action on the object if (gesture.pickObject == gameObject){ // the world coordinate from touch for z=5 Vector3 position = gesture.GetTouchToWordlPoint(5); transform.position = position - deltaPosition; // Get the drag angle float angle = gesture.GetSwipeOrDragAngle(); textMesh.text = gesture.swipe.ToString() + " / angle :" + angle.ToString("f2"); } } // At the drag end void On_DragEnd(Gesture gesture){ // Verification that the action on the object if (gesture.pickObject == gameObject){ transform.position= new Vector3(3f,1.8f,-5f); gameObject.GetComponent<Renderer>().material.color = Color.white; textMesh.text="Drag me"; } } } |