92 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using UnityEngine; | ||
|  | using System.Collections; | ||
|  | using HedgehogTeam.EasyTouch; | ||
|  | 
 | ||
|  | public class PinchMe : MonoBehaviour { | ||
|  | 
 | ||
|  | 	private TextMesh textMesh; | ||
|  | 	 | ||
|  | 	// Subscribe to events | ||
|  | 	void OnEnable(){ | ||
|  | 		EasyTouch.On_TouchStart2Fingers += On_TouchStart2Fingers; | ||
|  | 		EasyTouch.On_PinchIn += On_PinchIn; | ||
|  | 		EasyTouch.On_PinchOut += On_PinchOut; | ||
|  | 		EasyTouch.On_PinchEnd += On_PinchEnd; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	void OnDisable(){ | ||
|  | 		UnsubscribeEvent(); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	void OnDestroy(){ | ||
|  | 		UnsubscribeEvent(); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// Unsubscribe to events | ||
|  | 	void UnsubscribeEvent(){ | ||
|  | 		EasyTouch.On_TouchStart2Fingers -= On_TouchStart2Fingers; | ||
|  | 		EasyTouch.On_PinchIn -= On_PinchIn; | ||
|  | 		EasyTouch.On_PinchOut -= On_PinchOut; | ||
|  | 		EasyTouch.On_PinchEnd -= On_PinchEnd; | ||
|  | 	} | ||
|  | 	 | ||
|  | 	void Start(){ | ||
|  | 		textMesh =(TextMesh) GetComponentInChildren<TextMesh>(); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// At the 2 fingers touch beginning | ||
|  | 	private void On_TouchStart2Fingers( Gesture gesture){ | ||
|  | 		 | ||
|  | 		// Verification that the action on the object | ||
|  | 		if (gesture.pickedObject == gameObject ){		 | ||
|  | 			// disable twist gesture recognize for a real pinch end | ||
|  | 			EasyTouch.SetEnableTwist( false); | ||
|  | 			EasyTouch.SetEnablePinch( true); | ||
|  | 		} | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// At the pinch in | ||
|  | 	private void On_PinchIn(Gesture gesture){ | ||
|  | 	 | ||
|  | 		// Verification that the action on the object | ||
|  | 		if (gesture.pickedObject == gameObject){ | ||
|  | 			 | ||
|  | 			float zoom = Time.deltaTime * gesture.deltaPinch; | ||
|  | 		 | ||
|  | 			Vector3 scale = transform.localScale ; | ||
|  | 			transform.localScale = new Vector3( scale.x - zoom, scale.y -zoom, scale.z-zoom); | ||
|  | 			 | ||
|  | 			textMesh.text = "Delta pinch : " + gesture.deltaPinch.ToString(); | ||
|  | 		} | ||
|  | 		 | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// At the pinch out | ||
|  | 	private void On_PinchOut(Gesture gesture){ | ||
|  | 	 | ||
|  | 		// Verification that the action on the object | ||
|  | 		if (gesture.pickedObject == gameObject){ | ||
|  | 			float zoom = Time.deltaTime * gesture.deltaPinch; | ||
|  | 		 | ||
|  | 			Vector3  scale = transform.localScale ; | ||
|  | 			transform.localScale = new Vector3( scale.x + zoom, scale.y +zoom,scale.z+zoom); | ||
|  | 			 | ||
|  | 			textMesh.text = "Delta pinch : " + gesture.deltaPinch.ToString(); | ||
|  | 		} | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// At the pinch end | ||
|  | 	private void On_PinchEnd(Gesture gesture){ | ||
|  | 
 | ||
|  | 		if (gesture.pickedObject == gameObject){ | ||
|  | 			transform.localScale =new Vector3(2.5f,2.5f,2.5f); | ||
|  | 			EasyTouch.SetEnableTwist( true); | ||
|  | 			textMesh.text="Pinch me"; | ||
|  | 		} | ||
|  | 		 | ||
|  | 	} | ||
|  | 	 | ||
|  | 
 | ||
|  | 	 | ||
|  | } |