Hallo!
Ich versuche derzeit ein eigenes Inventory-GUI zu erstellen. Das funktioniert an sich ja ganz einfach,
doch wenn dann das Scripten hinzukommt ist schnell vorbei..
Kennt ihr nützliche Tutorials zum erstellen eines eigenen Inventars in AGS ?
- Ich habe das ganze Forum durchstöbert, doch sind die meisten Links die irgendwie interessant sein könnten leider inzwischen down.
- Ich habe ein neues default-game erstellt und mir den Script des Inventars angesehen. Vieles ist nachvollziehbar, doch praktisch
scheitere ich schon daran, das Inventory-GUI mit einer Bestimmten Tastertur-Taste aufzurufen.
- Ich habe mir die GUI-Tutorials von densming angesehen, doch leider wird in ihnen das Inventory-GUI nicht behandelt.
- Ich habe in der AGS-Hilfe unter "GUI control functions and properties" nachgesehen, doch wird mir der script-aufbau einer GUI nicht bewusst.
Bin für jeden Tip dankbar!
Eigenes Inventar-GUI basteln und Scripten
-
- Komplettlösungsnutzer
- Beiträge: 15
- Registriert: 09.12.2014, 14:28
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Re: Eigenes Inventar-GUI basteln und Scripten
Ein GUI ist eine Ansammlung von Controls. Diese machen -erst einmal völlig unabhängig voneinander- verschiedenste Sachen. Das einfachste Element ist ein Button, damit kann nach Klick eine Funktion ausgeführt werden. Rein technisch unterscheidet sich das Anklicken eines Buttons überhaupt nicht von einer "hBild_LookAt"-Funktion, mit der man das Anschauen des Hotspots "hBild" umsetzen kann. Beides sind Skript-Blöcke, die von AGS nach einer bestimmten User-Aktion ausgeführt werden.
Wenn man also z.B. ein GUI mit Visibility: "Normal, initially on" erstellt, und einen Button draufsetzt, kann man damit während des Spiels jederzeit Befehle ausführen lassen. Man sollte erst dem Button einen sinnvollen Namen geben, z.B. "btnTest", und ihn dann doppelt anklicken. Oder im Event-Panel wie gehabt das OnClick-Event mit einer Script-Funktion verknüpfen. Jetzt kann man beispielsweise "player.WalkTo(160, 120);" in die Funktion schreiben. Im Spiel kann man nun überall den Spieler durch Klick auf den Button jeweils zur Mitte des Raums laufen lassen.
Das wars schon, mehr oder weniger. Der Rest ist, wie immer, das Zusammensetzen der einzelnen Legosteine zu einem stimmigen Haus.
Um ein GUI per Tastendruck an oder aus zu schalten, muss man nichts am GUI selber machen. Ein Tastendruck wird von AGS im GlobalScript verarbeitet, und zwar in der on_key_press()-Funktion.
Dort fügt man beispielsweise Folgendes ein:
Damit wird das GUI namens "gInventory" nun per Druck auf Tab ein- und ausschaltet.
Wenn man also z.B. ein GUI mit Visibility: "Normal, initially on" erstellt, und einen Button draufsetzt, kann man damit während des Spiels jederzeit Befehle ausführen lassen. Man sollte erst dem Button einen sinnvollen Namen geben, z.B. "btnTest", und ihn dann doppelt anklicken. Oder im Event-Panel wie gehabt das OnClick-Event mit einer Script-Funktion verknüpfen. Jetzt kann man beispielsweise "player.WalkTo(160, 120);" in die Funktion schreiben. Im Spiel kann man nun überall den Spieler durch Klick auf den Button jeweils zur Mitte des Raums laufen lassen.
Das wars schon, mehr oder weniger. Der Rest ist, wie immer, das Zusammensetzen der einzelnen Legosteine zu einem stimmigen Haus.
Um ein GUI per Tastendruck an oder aus zu schalten, muss man nichts am GUI selber machen. Ein Tastendruck wird von AGS im GlobalScript verarbeitet, und zwar in der on_key_press()-Funktion.
Dort fügt man beispielsweise Folgendes ein:
Code: Alles auswählen
if (keycode == eKeyTab) gInventory.Visible = !gInventory.Visible;
Use gopher repellent on funny little man
-
- Komplettlösungsnutzer
- Beiträge: 15
- Registriert: 09.12.2014, 14:28
Re: Eigenes Inventar-GUI basteln und Scripten
Super!
Vielen Dank dir abermals!
Vielen Dank dir abermals!