- Home /
Question by
Folk_Lore · Aug 09, 2015 at 05:05 AM ·
errormobileguitexturetouch controls
GUITexture in Unity 5
Hi, I have been following this tutorial to make a 2D mobile game. However, I find a difficulty in scripting for the virtual buttons. The "Character" won't move when I touch the virtual buttons. There is also the ArgumentException:Index is out of bounds error message. I think the error is in the GUITexture part, but I'm not sure how to fix it. Can anyone help me solve this problem? Thanks!
Here's the script for TouchManager.cs
using UnityEngine;
using System.Collections;
public class TouchManager : MonoBehaviour {
public bool guiTouch = false;
public GUITexture texture;
public void TouchInput(){
if (Input.touchCount > 0) {
guiTouch = true;
if (texture.HitTest (Input.GetTouch (0).position)) {
switch (Input.GetTouch (0).phase) {
case TouchPhase.Began:
SendMessage ("OnFirstTouchBegan");
SendMessage ("OnFirstTouch");
break;
case TouchPhase.Moved:
SendMessage ("OnFirstTouchMoved");
SendMessage ("OnFirstTouch");
break;
case TouchPhase.Stationary:
SendMessage ("OnFirstTouchStayed");
SendMessage ("OnFirstTouch");
break;
case TouchPhase.Ended:
SendMessage ("OnFirstTouchEnded");
guiTouch = false;
break;
}
}
}
}
}
and here's the script for MovementControl.cs
using UnityEngine;
using System.Collections;
public class MovementControl : TouchManager {
public bool moveRight = false;
public GameObject player = null;
public float speed = 25.0f;
void Update () {
TouchInput ();
}
void OnFirstTouch(){
if (moveRight) {
transform.Translate (Vector2.right*speed*Time.deltaTime);
} else if(!moveRight){
transform.Translate(-Vector2.right*speed*Time.deltaTime);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Adapting camera movement to touch input 0 Answers
Android build failed error 1 Answer
Touch input problem 1 Answer
Rhythm Game - When I touch an object with mobile in only activates 80% of the time... 1 Answer
Touch input not working properly 2 Answers