- Home /
 
 
               Question by 
               ppddgg · Jul 11, 2012 at 08:48 PM · 
                c#inputtouchscreen  
              
 
              C# Touch Script - Fix GameObject touch.
Hi. I have this script (is not created by me). It only works with GUITexture. How can I do to make it work even with GameObject in the Game
 using UnityEngine;
 [RequireComponent(typeof(GUITexture))]
 public class OtherObjectTouch : MonoBehaviour
 {
 
 private GUITexture _gui;
 public Vector2 MousePosition;
 private bool _buttonEnabled;//This means this button can only be 'pressed' once a frame.
 
 void Start()
 {
     //transform.localScale = Vector3.zero;//for some retarded reason gui elements scale from 0 not 1.
     _gui = GetComponent<GUITexture>();
     //gui.pixelInset = new Rect(_gui.pixelInset.x, _gui.pixelInset.y, _gui.texture.width, _gui.texture.height);//make sure it's pixel perfect sized.
 }
 void Update()
 {
     _buttonEnabled = false;//We reset the button.
 
     foreach (Touch touch in Input.touches)
     {
         if (_buttonEnabled) return;//don't go any further if this button is pressed.
         if (!_gui.HitTest(touch.position)) continue;//do hit test, we 'press' it??
         switch (touch.phase)
         {
             case TouchPhase.Began:
             case TouchPhase.Moved:
             case TouchPhase.Stationary:
                 ButtonPressed();//We hit the button!
                 return;//Return completely out of the update.
         }
     }
 
     //NOTE: PC TESTING
     if (_buttonEnabled) return;//don't go any further if this button is pressed.
 
     MousePosition = Input.mousePosition;
     if (!Input.GetMouseButton(0)) return;//Bugger off if no mouse press.
     if (!_gui.HitTest(MousePosition)) return;
     ButtonPressed(); //We hit the button!
 }
 
 private void ButtonPressed()
 {
     buttonEnabled = true;//This button has been hit.
     //Debug.Log("Do incremental action here.");
  Application.LoadLevel("Menu");
 }
 
              
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
Multi - touch not registering during update. 0 Answers
Multiple Cars not working 1 Answer
When i press a button on the game scene its starts the game, how i can solve it ? 0 Answers
Distribute terrain in zones 3 Answers
Click to move issue. 2 Answers