- Home /
{Q}How to create Swipe and Rotate Menu?
Hello there :) Im just wondering If I can possibly do this kind of menu integration? I spent a lot of time and lots of paracetamol figuring how to do this menu type.. Using swipe and rotate camera. Thanks in advance, :)
http://www.youtube.com/watch?v=hgs5YirPu2c
Heres my Code :)
using UnityEngine; using System.Collections;
public class NewBehaviourScript : MonoBehaviour { public float speed= 50; public float HSwipeZone = 50; public GUIText displayText; public float maxSwipeTime = 2; public float minSwipeDistance = 20; public float hSliderValue = 1.0F;
private float startTime;
private Vector2 touchPos;
private bool tapping;
private float lastTap;
private bool multiTouch;
private float smooth=2.0F;
private float tiltAngle=30.0F;
void Start () { displayText.text = "No touch detected"; multiTouch = false; }
// Update is called once per frame
void Update ()
{
if (multiTouch)
{
if (Input.touchCount == 0)
{
multiTouch = false;
}
else
{
}
}
else
{
if (Input.touchCount==1)
{
Touch touch = Input.touches[0];
switch(touch.phase)
{
case TouchPhase.Began:
touchPos = touch.position;
startTime = Time.time;
break;
case TouchPhase.Ended:
float swipeTime = Time.time - startTime;
float swipeDist = (touch.position - touchPos).magnitude;
if ((Mathf.Abs(touch.position.y - touchPos.y))<HSwipeZone && (swipeTime<maxSwipeTime) && (swipeDist>minSwipeDistance) && Mathf.Sign(touch.position.x - touchPos.x)<0 && Mathf.Sign(touch.position.y - touchPos.y) < 1.5f && Mathf.Sign(touch.position.y - touchPos.y) > -1.5f)
{
print ("Its a LEFT SWIPE");
displayText.text = "Its a LEFT swipe";
Camera.mainCamera.transform.eulerAngles = Vector3.Lerp(Camera.mainCamera.transform.eulerAngles, new Vector3(0, 90, 0), Time.deltaTime*speed);
}
else if ((Mathf.Abs(touch.position.y - touchPos.y))<HSwipeZone && (swipeTime<maxSwipeTime) && (swipeDist>minSwipeDistance) && Mathf.Sign(touch.position.x - touchPos.x)>0 && Mathf.Sign(touch.position.y - touchPos.y) < 1.5f && Mathf.Sign(touch.position.y - touchPos.y) > -1.5f)
{
print ("Its a RIGHT SWIPE");
displayText.text = "Its a RIGHT swipe";
float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle;
float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle;
Camera.mainCamera.transform.eulerAngles = Vector3.Lerp(Camera.mainCamera.transform.eulerAngles, new Vector3(90, 0, 10), Time.deltaTime*speed);
}
break;
}
}
}
}
}
@XperiaLudwid - wait a reasonable amount of time before bumping...12 to 24 hours...not 10 $$anonymous$$utes. And bump by either editing the question or adding a comment. Putting bumps in the 'Answer' field will mark your question as answered and fewer people will look at it.
Your answer
Follow this Question
Related Questions
Environment setup for Mobile App Game 1 Answer
Setting up for Animation 0 Answers
How to make a camera screen on my camera model? 2 Answers
Animator canceling a script (sway) 2 Answers
Writing from fragment shader into 3D render texture 1 Answer