- Home /
Raycasts and new Gui buttons
Hi ! So here is the question. For example, in one class, when i click on the point of the screen, i do a raycast from there. Then do stuff if i raycasted anything.
public void Interact(Vector2 touchPos){
Ray ray = Camera.main.ScreenPointToRay(touchPos);
if(Physics.Raycast(ray, out interactionRaycastHit, 1f)){
DoStuff();
}
}
With this thing, i have new GUI buttons on the screen, based on the canvas, that do things through other "GUI" and "Input" classes.
And here is the catch - is there any way for me to check before i do raycasting, if the button on the canvas was pressed ? So when i push button, i dont do raycasting.
The UI buttons will not detect a raycast since they do not have a collider attached to them. You can fire an event by adding an event trigger component on your buttons :
http://answers.unity3d.com/questions/977120/how-to-replace-input-axis-keyboard-button-with-tou.html
Well, thanks, i dont need to catch raycasts by buttons =). If i click the screen, one class do raycasting, another class get triggered by button event.
I need to check somehow BEFORE the raycasting, if the button was pressed, and if so, raycasting will NOT be done ?
Your answer
![](https://koobas.hobune.stream/wayback/20220613200611im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Group GUI Objects to reduce draw calls. 0 Answers
GUI create 2 buttons after activated when user clicks the mouse 3 Answers
How to make GUI button glow 0 Answers
GUIStyle not working on GUI.Button 4 Answers
button drawn last not triggered 0 Answers