Advertisement
Vickylane

TouchJoystick

Jul 7th, 2015
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.97 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class TouchController : MonoBehaviour {
  5.  
  6.     public GameObject joypadBase1;
  7.     public GameObject joypadStick1;
  8.     public GameObject joypadBase2;
  9.     public GameObject joypadStick2;
  10.  
  11.     private int screenWidth;
  12.     private int screenHeight;
  13.     private bool[] startedLeft = {true,true};
  14.     private int[] count = {0,0};
  15.     public Camera camera;
  16.  
  17.     void Start ()
  18.     {
  19.         screenWidth = Screen.width;
  20.         screenHeight = Screen.height;
  21.         //joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.15f,screenHeight*0.25f,1));
  22.         //joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.85f,screenHeight*0.25f,1));
  23.        
  24.         joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.15f,screenHeight*0.25f,1));
  25.         joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(screenWidth*0.85f,screenHeight*0.25f,1));
  26.     }
  27.     void Update ()
  28.     {
  29.         ///<summary>
  30.         /// This occurs only when there is 1 touch input
  31.         /// </summary>
  32.         /*if(Input.touchCount == 1)
  33.         {
  34.  
  35.             if(Input.GetTouch (0).phase == TouchPhase.Began)
  36.             {
  37.                 if(Input.GetTouch (0).position.x < screenWidth/2)
  38.                 {
  39.                     joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  40.                     startedLeft[0] = true;
  41.                 }
  42.                 if(Input.GetTouch (0).position.x >= screenWidth/2)
  43.                 {
  44.                     joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  45.                     startedLeft[0] = false;
  46.                 }
  47.             }
  48.             if(Input.GetTouch (0).phase == TouchPhase.Moved)
  49.             {
  50.                 if(Input.GetTouch (0).position.x < screenWidth/2)
  51.                 {
  52.                     if(startedLeft[0] == false)             //right->left transition
  53.                     {
  54.                         joypadStick2.transform.localPosition = new Vector3(0,0,0);
  55.                         startedLeft[0] = true;
  56.                         joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  57.                         Debug.Log("Right->Left");
  58.                     }
  59.                     joypadStick1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  60.                     //joypadStick2.transform.localPosition = new Vector3(0,0,0);
  61.                 }
  62.                 if(Input.GetTouch (0).position.x >= screenWidth/2)
  63.                 {
  64.                     if(startedLeft[0] == true)                  //left->right transition
  65.                     {
  66.                         joypadStick1.transform.localPosition = new Vector3(0,0,0);
  67.                         startedLeft[0] = false;
  68.                         joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  69.                         Debug.Log("Left->Right");
  70.                     }
  71.                     joypadStick2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  72.                     //joypadStick1.transform.localPosition = new Vector3(0,0,0);
  73.                 }
  74.             }
  75.             if(Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(0).phase == TouchPhase.Canceled)
  76.             {
  77.                 joypadStick1.transform.localPosition = new Vector3(0,0,0);
  78.                 joypadStick2.transform.localPosition = new Vector3(0,0,0);
  79.             }
  80.         }*/
  81.  
  82.         ///<summary>
  83.         /// This occurs only when there are 2 touch inputs
  84.         /// </summary>
  85.         if(Input.touchCount > 0)
  86.         {
  87.             if(Input.GetTouch (0).phase == TouchPhase.Began)
  88.             {
  89.                 if(Input.GetTouch (0).position.x < screenWidth/2)
  90.                 {
  91.                     joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  92.                     startedLeft[0] = true;
  93.                     Debug.Log("Zero is now left");
  94.                 }
  95.                 if(Input.GetTouch (0).position.x >= screenWidth/2)
  96.                 {
  97.                     joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  98.                     startedLeft[0] = false;
  99.                     Debug.Log("Zero is now right");
  100.                 }
  101.             }
  102.             if(Input.GetTouch (0).phase == TouchPhase.Moved)
  103.             {
  104.                 if(Input.GetTouch (0).position.x < screenWidth/2)
  105.                 {
  106.                     if(startedLeft[0] == false)             //right->left transition
  107.                     {
  108.                         //Debug.Log("Right->Left");
  109.                         joypadStick2.transform.localPosition = new Vector3(0,0,0);
  110.                         startedLeft[0] = true;
  111.                         //return;
  112.                         joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  113.                     }
  114.                     joypadStick1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  115.                     //joypadStick2.transform.localPosition = new Vector3(0,0,0);
  116.                 }
  117.                 if(Input.GetTouch (0).position.x >= screenWidth/2)
  118.                 {
  119.                     if(startedLeft[0] == true)                  //left->right transition
  120.                     {
  121.                         //Debug.Log("Left->Right");
  122.                         joypadStick1.transform.localPosition = new Vector3(0,0,0);
  123.                         startedLeft[0] = false;
  124.                         //return;
  125.                         joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  126.                     }
  127.                     joypadStick2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(0).position.x,Input.GetTouch(0).position.y,1));
  128.                     //joypadStick1.transform.localPosition = new Vector3(0,0,0);
  129.                 }
  130.             }
  131.             if(Input.GetTouch (0).phase == TouchPhase.Ended || Input.GetTouch (0).phase == TouchPhase.Canceled)
  132.             {
  133.                 if(Input.GetTouch (0).position.x < screenWidth/2)
  134.                 {
  135.                     joypadStick1.transform.localPosition = new Vector3(0,0,0);
  136.                 }
  137.                 if(Input.GetTouch (0).position.x >= screenWidth/2)
  138.                 {
  139.                     joypadStick2.transform.localPosition = new Vector3(0,0,0);
  140.                 }
  141.             }
  142.             if(Input.touchCount == 2)
  143.             {
  144.                 if(Input.GetTouch (1).phase == TouchPhase.Began)
  145.                 {
  146.                     if(Input.GetTouch (1).position.x < screenWidth/2)
  147.                     {
  148.                         joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
  149.                         startedLeft[1] = true;                 
  150.                         Debug.Log("One is now left");
  151.                     }
  152.                     if(Input.GetTouch (1).position.x >= screenWidth/2)
  153.                     {
  154.                         joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
  155.                         startedLeft[1] = false;
  156.                         Debug.Log("One is now right");
  157.                     }
  158.                 }
  159.                 if(Input.GetTouch (1).phase == TouchPhase.Moved)
  160.                 {
  161.                     if(Input.GetTouch (1).position.x < screenWidth/2)
  162.                     {
  163.                         if(startedLeft[1] == false)             //right->left transition
  164.                         {
  165.                             //Debug.Log("Right->Left");
  166.                             joypadStick2.transform.localPosition = new Vector3(0,0,0);
  167.                             startedLeft[1] = true;
  168.                             //return;
  169.                             joypadBase1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
  170.                         }
  171.                         joypadStick1.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
  172.                         //joypadStick2.transform.localPosition = new Vector3(0,0,0);
  173.                     }
  174.                     if(Input.GetTouch (1).position.x >= screenWidth/2)
  175.                     {
  176.                         if(startedLeft[1] == true)                  //left->right transition
  177.                         {
  178.                             //Debug.Log("Left->Right");
  179.                             joypadStick1.transform.localPosition = new Vector3(0,0,0);
  180.                             startedLeft[1] = false;
  181.                             //return;
  182.                             joypadBase2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
  183.                         }
  184.                         joypadStick2.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.GetTouch(1).position.x,Input.GetTouch(1).position.y,1));
  185.                         //joypadStick1.transform.localPosition = new Vector3(0,0,0);
  186.                     }
  187.                 }
  188.                 if(Input.GetTouch (1).phase == TouchPhase.Ended || Input.GetTouch (1).phase == TouchPhase.Canceled)
  189.                 {
  190.                     if(Input.GetTouch (1).position.x < screenWidth/2)
  191.                     {
  192.                         joypadStick1.transform.localPosition = new Vector3(0,0,0);
  193.                     }
  194.                     if(Input.GetTouch (1).position.x >= screenWidth/2)
  195.                     {
  196.                         joypadStick2.transform.localPosition = new Vector3(0,0,0);
  197.                     }
  198.                 }
  199.             }
  200.         }
  201.     }
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement