Wie kann man in unity per Button Click ein Panel öffnen?

1 Antwort

Wie häufig in der Programmierung, gibt es auch hier mehrere Möglichkeiten, das zu machen.

  1. Du kannst ganz klassisch einen Button nehmen. Was soll passieren, wenn man den Button klickt ? Das Panel soll sich öffnen, soll aktiv werden. Schau dir mal das MonoBehaviour Skript des Button an, vom Typ Button. Da findest du eine kleine Liste, die leer ist. Drücke auf das '+'-Zeichen, um einen neuen Eintrag hinzuzufügen. Jetzt kannst du über die entsprechende Schaltfläche das Panel als GameObject auswählen und den Befehl "GameObect.SetActive" setzen, den Hacken setzen, damit das deaktivierte Panel aktiv wird und sich "öffnet".
    Siehe auch http://answers.unity3d.com/questions/1120426/show-and-hide-a-canvas-on-a-button-click.html
  2. Leider hat man bei der Lösung mit dem Button das Problem, dass man zwei Buttons braucht, weil das Aktivieren und Deaktivieren nicht dynamisch ist ( soweit ich weiß), das Panel bleibt also offen, wenn man keinen zweiten Button irgendwo einbaut, der das Panel wieder schließt. Dafür gibt es aber eine bessere Lösung namens Toggle. Funktioniert genau wie ein Button, mit dem Vorteil, dass du einen dynamischen Befehl verwenden kannst, um den Status des GameObjects, also dem Panel, umzukehren, anstatt ihn zu setzen, wie beim Button. Den dynamischen befehl findest du bei der Befehlsauswahl ganz oben.