2016-07-24 9 views
0

Ich habe Unity-Szene, wo 4 Würfel und Knopf über ihnen, diese Schaltfläche ist versteckt und erscheint nur, wenn ein Ereignis passiert ist. Wenn diese Schaltfläche also nicht ausgeblendet ist, drücke ich sie und Objekte, die hinter dieser Schaltfläche angezeigt werden, sollen auch nicht geklickt werden. Wie kann ich sicherstellen, dass nur die Schaltfläche angeklickt wird, sonst nichts? Und eine Frage, die sich auf die vorherige bezieht - kann ich Objekte, die zur angegebenen Ebene gehören, nicht interaktiv machen, sodass der Spieler nicht in der Lage ist, auf sie zu klicken, wenn ich es nicht möchte?Klicken Sie nicht auf Objekte, die hinter Knopf sind

Cube Klicks werden durch Standardmethode in MonoBehaviour catched -

void OnMouseDown() 
{ 
    Debug.Log("Cube clicked"); 
} 

Knopf Unity UI-Objekt "Button" als Built-in erstellt wird, und wenn ich es startet eine Methode klicken, die ich, so den gesamten Code wählen, die klicken Sie auf die Schaltfläche Fänge wurde nicht von mir selbst geschrieben, sondern von Unity Schöpfer

Hier Foto davon, wie meine Szene sieht aus wie enter image description here

+0

Bitte bearbeiten Sie Ihre Frage und fügen Sie einen Code hinzu, der zeigt, wie Sie Button klicken und erkennen, klicken Sie auf das Objekt hinter dem Button. Dies wird nützlich sein, um Ihnen zu helfen. Fügen Sie nicht Ihren gesamten Code ein, nur ein Stück Code, der Klick oder Ähnliches erkennt. – Programmer

+0

Thahks für Beratung, tat das – Leopik

+0

Sie nur Code zum Erkennen Objekt geklickt. Wo wird der Code verwendet, um zu erkennen, wann auf Button geklickt wird? – Programmer

Antwort

0

Buttons in der Regel nicht so. Verwenden Sie das Ereignis OnClick() der Schaltfläche, um die Klickaktion zu verarbeiten.

enter image description here

das Skript hinzufügen Objekt im None(Object) Feld enthält, und eine öffentliche Methode ab dem nächsten drowpdown Feld auswählen.

+0

Es wurde so gemacht, ich denke, ich hatte schlecht erklärt, aber so habe ich Button implementiert – Leopik

0

Versuchen Sie, der UI-Schaltfläche eine canvas group component hinzuzufügen. Dann ist eine der Optionen, Raycasts zu blockieren, Sie sollten dies ankreuzen und keine Mausklicks gehen durch das UI-Element zu den dahinterliegenden Objekten. (Wenn ich dein Problem richtig verstanden habe). Ich hoffe es hilft. Canvas group component