Code für unity zum aufrufen eines Inventars per Taste?

2 Antworten

Ich möchte hier eigentlich nicht fertige Scripts Posten damit sie einfach kopiert werden, also erkläre ich es dir ziemlich simpel (ich werde den fertigen code trotzdem verlinken aber ich will dass man hier was lernt statt nur kopiert)

Ich würde in die Canvas ein "Empty GameObject" einlegen in der man alle anderen UI Objekte des Inventars als Childobjects hinzufügt. Danach macht man eine Variable, die das Inventar GameObject im Script darstellt (im Inspector hinzufügen nachher ;) ), und eine Bool Variable die man z. Bsp. IsInvOpen nennt, welche standartmässig auf false gesetzt werden muss.

Nun prüft man ob die Taste Q gedrückt wurde, falls ja , dann überprüft man mit einem zweiten if-statement ob das Inventar schon geöffnet ist indem man den Bool überprüft (false = geschlossen, true = geöffnet) wenn es geschlossen, also false ist, öffnet/aktiviert man das Inventar Fenster und setzt IsInvOpen auf true. Bei dem else-statement vom Bool (also in der Tastenüberprüfung) ienfach umgekehrt also IsInvOpen auf false setzen und das Fenster schliessen

Hier der fertige Code: https://pastebin.com/cMNLCmc8

Nicht vergessen die Sachen im Inspector zu referenzieren.
ach ja statt Inventory.SetActive(true/false) kann man natürlich auch was anderes reinmachen, wie z. Bsp. eine Animation aber das müsst ihr selber machen :)

Woher ich das weiß:Hobby – Programmiere seit längerem mit Unity