Question by
Rotim · Dec 10, 2015 at 05:09 PM ·
androidraycastingrayraycasthit2d
Raycast hit problem [ANDROID]
Hi,
I am making 2D android game and I have problem with raycast... When the ball pick up green diamond Button is enabled and if you press button it should close the box for 4 seconds, but if I touch button with my finger nothing happens and if I press button with my mouse everything works fine.... I tried with EventSystems but still nothing....
here are my scripts:
"Script for Enable side so ball can get out"
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Sides : MonoBehaviour {
public GameObject Top, Bottom, Right, Left;
// Use this for initialization
void Start () {
}
void Update (){
Vector2 test = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
if (Input.GetTouch(0).phase == TouchPhase.Began){
test = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
if(Physics2D.Raycast(test, (Input.GetTouch(0).position)).collider.tag == "Top"){
Top.gameObject.SetActive (true);
}
if(Physics2D.Raycast(test, (Input.GetTouch(0).position)).collider.tag == "Bottom"){
Bottom.gameObject.SetActive (true);
}
if(Physics2D.Raycast(test, (Input.GetTouch(0).position)).collider.tag == "Right"){
Right.gameObject.SetActive (true);
}
if(Physics2D.Raycast(test, (Input.GetTouch(0).position)).collider.tag == "Left"){
Left.gameObject.SetActive (true);
}
if (Input.GetTouch (0).phase == TouchPhase.Ended) {
Top.gameObject.SetActive (false);
Bottom.gameObject.SetActive (false);
Right.gameObject.SetActive (false);
Left.gameObject.SetActive (false);
}
}
}
}
"Script for Button"
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class EnableButton : MonoBehaviour {
public GameObject[] block;
public Button enab;
void Start () {
}
void Update () {
}
public void Enable(){
enab.gameObject.SetActive (false);
foreach (GameObject blocks in block) {
blocks.gameObject.SetActive (true);
}
StartCoroutine (Disable ());
}
IEnumerator Disable(){
yield return new WaitForSeconds (4);
foreach (GameObject blocks in block) {
blocks.gameObject.SetActive (false);
}
}
}
slika-zaslona-2015-12-09-u-113811.png
(134.5 kB)
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612051928im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
2D raycast not working 0 Answers
Rigidbody blocking raycasts 2D 0 Answers
My ray pointing into infinity (I suppose) 0 Answers
Physics.Raycast Not Working... Kinda 0 Answers