Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class TouchController : MonoBehaviour {
- public GameObject joypadBase1;
- public GameObject joypadStick1;
- public GameObject joypadBase2;
- public GameObject joypadStick2;
- private int screenWidth;
- private int screenHeight;
- private bool[] startedLeft = {true,true};
- private int[] count = {0,0};
- public Camera camera;
- void Start ()
- {
- screenWidth = Screen.width;
- screenHeight = Screen.height;
- //joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.15f,screenHeight*0.25f,1));
- //joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.85f,screenHeight*0.25f,1));
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.15f,screenHeight*0.25f,1));
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.85f,screenHeight*0.25f,1));
- }
- void Update ()
- {
- ///<summary>
- /// This occurs only when there is 1 touch input
- /// </summary>
- /*if(Input.touchCount == 1)
- {
- if(Input.GetTouch (0).phase == TouchPhase.Began)
- {
- if(Input.GetTouch (0).position.x < screenWidth/2)
- {
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- startedLeft[0] = true;
- }
- if(Input.GetTouch (0).position.x >= screenWidth/2)
- {
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- startedLeft[0] = false;
- }
- }
- if(Input.GetTouch (0).phase == TouchPhase.Moved)
- {
- if(Input.GetTouch (0).position.x < screenWidth/2)
- {
- if(startedLeft[0] == false) //right->left transition
- {
- joypadStick2.transform.localPosition = new Vector3(0,0,0);
- startedLeft[0] = true;
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- Debug.Log("Right->Left");
- }
- joypadStick1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- //joypadStick2.transform.localPosition = new Vector3(0,0,0);
- }
- if(Input.GetTouch (0).position.x >= screenWidth/2)
- {
- if(startedLeft[0] == true) //left->right transition
- {
- joypadStick1.transform.localPosition = new Vector3(0,0,0);
- startedLeft[0] = false;
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- Debug.Log("Left->Right");
- }
- joypadStick2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- //joypadStick1.transform.localPosition = new Vector3(0,0,0);
- }
- }
- if(Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(0).phase == TouchPhase.Canceled)
- {
- joypadStick1.transform.localPosition = new Vector3(0,0,0);
- joypadStick2.transform.localPosition = new Vector3(0,0,0);
- }
- }*/
- ///<summary>
- /// This occurs only when there are 2 touch inputs
- /// </summary>
- if(Input.touchCount > 0)
- {
- if(Input.GetTouch (0).phase == TouchPhase.Began)
- {
- if(Input.GetTouch (0).position.x < screenWidth/2)
- {
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- startedLeft[0] = true;
- Debug.Log("Zero is now left");
- }
- if(Input.GetTouch (0).position.x >= screenWidth/2)
- {
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- startedLeft[0] = false;
- Debug.Log("Zero is now right");
- }
- }
- if(Input.GetTouch (0).phase == TouchPhase.Moved)
- {
- if(Input.GetTouch (0).position.x < screenWidth/2)
- {
- if(startedLeft[0] == false) //right->left transition
- {
- //Debug.Log("Right->Left");
- joypadStick2.transform.localPosition = new Vector3(0,0,0);
- startedLeft[0] = true;
- //return;
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- }
- joypadStick1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- //joypadStick2.transform.localPosition = new Vector3(0,0,0);
- }
- if(Input.GetTouch (0).position.x >= screenWidth/2)
- {
- if(startedLeft[0] == true) //left->right transition
- {
- //Debug.Log("Left->Right");
- joypadStick1.transform.localPosition = new Vector3(0,0,0);
- startedLeft[0] = false;
- //return;
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- }
- joypadStick2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
- //joypadStick1.transform.localPosition = new Vector3(0,0,0);
- }
- }
- if(Input.GetTouch (0).phase == TouchPhase.Ended || Input.GetTouch (0).phase == TouchPhase.Canceled)
- {
- if(Input.GetTouch (0).position.x < screenWidth/2)
- {
- joypadStick1.transform.localPosition = new Vector3(0,0,0);
- }
- if(Input.GetTouch (0).position.x >= screenWidth/2)
- {
- joypadStick2.transform.localPosition = new Vector3(0,0,0);
- }
- }
- if(Input.touchCount == 2)
- {
- if(Input.GetTouch (1).phase == TouchPhase.Began)
- {
- if(Input.GetTouch (1).position.x < screenWidth/2)
- {
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
- startedLeft[1] = true;
- Debug.Log("One is now left");
- }
- if(Input.GetTouch (1).position.x >= screenWidth/2)
- {
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
- startedLeft[1] = false;
- Debug.Log("One is now right");
- }
- }
- if(Input.GetTouch (1).phase == TouchPhase.Moved)
- {
- if(Input.GetTouch (1).position.x < screenWidth/2)
- {
- if(startedLeft[1] == false) //right->left transition
- {
- //Debug.Log("Right->Left");
- joypadStick2.transform.localPosition = new Vector3(0,0,0);
- startedLeft[1] = true;
- //return;
- joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
- }
- joypadStick1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
- //joypadStick2.transform.localPosition = new Vector3(0,0,0);
- }
- if(Input.GetTouch (1).position.x >= screenWidth/2)
- {
- if(startedLeft[1] == true) //left->right transition
- {
- //Debug.Log("Left->Right");
- joypadStick1.transform.localPosition = new Vector3(0,0,0);
- startedLeft[1] = false;
- //return;
- joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
- }
- joypadStick2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
- //joypadStick1.transform.localPosition = new Vector3(0,0,0);
- }
- }
- if(Input.GetTouch (1).phase == TouchPhase.Ended || Input.GetTouch (1).phase == TouchPhase.Canceled)
- {
- if(Input.GetTouch (1).position.x < screenWidth/2)
- {
- joypadStick1.transform.localPosition = new Vector3(0,0,0);
- }
- if(Input.GetTouch (1).position.x >= screenWidth/2)
- {
- joypadStick2.transform.localPosition = new Vector3(0,0,0);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement