Button-Klick: Eingaben weiterleiten
Um Objekt-spezifischen Code auslösen zu können, müssen wir eine aufrufbare Funktion, einen Schalter und eine entsprechende Weiterleitung einbauen.
Button einfügen
- Wähle das Canvas-Objekt in der Hierarchy aus und füge über eine Schaltfläche der Szene hinzu.
- Platziere den Schalter und ändere die Beschriftung zu Aktion.
Zielfunktion definieren
- Füge in
ObjektMitTitelUndFortschritt.cs
einen Zählerstatus und eine Funktion, sowie einen möglichen Abbruch der Update-Methode hinzu:
private bool zaehlerLaeuft = true;
public void AktionAusfuehren()
{
zaehlerLaeuft = !zaehlerLaeuft;
}
public void Update()
{
if (!zaehlerLaeuft) return;
...
Ereignis-Anker für Button anlegen
- Füge in
EigenschaftenZeichner.cs
ein Speicherfeld für das aktive Objekt hinzu und weise dieses inzeichneObjekt
zu. Ergänze zudem die FunktionBeiAktionsButtonClick
hinzu:
protected ObjektMitTitel dasAktuelleObjekt = null;
public void zeichneObjekt(ObjektMitTitel dasObjekt)
{
dasAktuelleObjekt = dasObjekt;
...
}
public void BeiAktionsButtonClick()
{
Debug.Log("Button geklickt");
if ( dasAktuelleObjekt!=null && dasAktuelleObjekt.GetType() == typeof(ObjektMitTitelUndFortschritt))
{
((ObjektMitTitelUndFortschritt)dasAktuelleObjekt).AktionAusfuehren();
}
}
Anker mit Button verbinden
- Wähle den Button in der Hierarchy aus und klicke im Inspector bei ▾Button OnClick auf +, um eine Ereignisverknüpfung anzulegen.
- Ziehe den Canvas aus Hierarchy auf das Objektfeld der Ereignisverknüpfung.
- Wähle aus dem Funktionsdropdown die Methode aus.
Hinweise
- Wenn wir im MouseExit -Ereignis
null
senden, ist der Schalter im Beispiel nur funktional, wenn der Button über dem Kollisionsobjekt liegt. Du kannst das MouseExit-Ereignis einfach auskommentieren, um dieses Problem hier zu umgehen. - Um den Schalter auch auszublenden, füge ein Feld für den Button in
EigenschaftenZeichner.cs
hinzu und de/aktiviere den Schalter ähnlich wie wir die anderen Komponenten de/aktivieren.
Anhänge
Die hier gezeigten Lektionen sind eine Auswahl von Inhalten aus mehreren verschiedenen kostenpflichtigen Kursen. Um alle Inhalte zu sehen, müssen mehrere Kurse gekauft werden. Änderungen und Aktualisierungen der Kursinhalte werden auf dieser Seite möglicherweise nicht oder nicht sofort dargestellt. Die kostenpflichtigen Udemy-Kurse enthalten neben den Videos auch Übungen, Textartikel, weitere Materialien, sowie ein Support-Forum für Fragen. Vereinzelt kann eine Lektion im mehreren Kursen gleichzeitig enthalten sein. Wenn etwas unklar ist, stelle Deine Frage per E-Mail an rene@gamedev-profi.de .