- Home /
Touch Input help..
I recently published my game, but it turns out that the stars aren't being destroyed with a simple touch. But the GUI buttons are working fine.
Here is my script:
function Update () {
if (Input.GetMouseButtonDown(0))
{
var hitm : RaycastHit2D = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
if(hitm.collider != null)
{
audio.Play();
GameMaster.currentScore += 1;
Destroy (hitm.collider.gameObject);
}
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began){
if(hitm.collider != null)
{
Destroy (hitm.collider.gameObject);
}
}
}
}
I was told to refer to this: http://docs.unity3d.com/ScriptReference/Input.GetTouch.html ,but I have no clue how to edit it.
Here is my game if you want to test it out. https://play.google.com/store/apps/details?id=com.ZYPHER.TapTheStars
$$anonymous$$aybe you need something like this? I'm quite new to this too. So I am probably wrong heheh.
else if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended){
}
You began the touch phase but not ended in...so i think thats why they are not getting deystroyed
Answer by AdamAndersson · Jun 19, 2014 at 10:58 AM
Why are you using? Old debugging line?
if (Input.GetMouseButtonDown(0))
Seems like this if-statement should be removed if this is a game for android.
Try something like this:
function Update () {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
var hitm : RaycastHit2D = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
if(hitm.collider != null)
{
audio.Play();
Game$$anonymous$$aster.currentScore += 1;
Destroy (hitm.collider.gameObject);
}
}
}
}
Have not tried the code, so not 100% sure that all the syntax is right. This script will, if the user taps the screen, see if the user touches a gameobject with a collider. If that is true, a sound will play, 1 will be added to currentScore and the gameobject with a collider will get destroyed. Hopefully this makes sense :)
Your answer
Follow this Question
Related Questions
Input.GetAxis("Vertical") on touch devices. 2 Answers
TouchPhase not firing correctly - Android 3 Answers
Android: TouchScreenKeyboard not functioning 2 Answers
Android Multi-Touch Issue 2 Answers
How to touch a specific cube 1 Answer