Indholdsfortegnelse
Inventory UI
Grafik anvendt i denne tutorial kan hentes her:
Inventory-system i Godot 4 med C#
Denne tutorial lærer dig at bygge et simpelt, genbrugeligt inventory-system i Godot 4 med C#. Du bygger systemet trin for trin og kan køre og teste efter hvert trin.
Det bygger du
- Et inventory med 3×3 slots, vist i et grid oven på en baggrund, der skalerer pænt (
NinePatchRect). - En genbrugelig inventory-komponent, der kun indeholder data og er adskilt fra visningen (UI).
- Samme komponent to steder: hos en spiller og i en kiste.
Systemet er non-stackable: hver slot rummer højst ét item. Strukturen er forberedt, så stacking kan tilføjes senere, men det implementerer vi ikke her. Vi bruger heller ikke signals, delegates eller drag and drop.
Forudsætninger
Tutorialen antager, at du allerede har en Item-klasse (en Resource) med felterne Name og Icon, eventuelle subtyper som WeaponItem og PotionItem og nogle item-filer (.tres). De gennemgås ikke her. Se trin 1.
Indholdsfortegnelse
Hjælpesider:
- Ordliste med nye begreber samlet ét sted
- Fejlfinding med de mest almindelige fejl og løsninger
Sådan er systemet bygget
Systemet består af tre lag, som hver har ét ansvar:
| Lag | Hvad det gør | Filer |
|---|---|---|
| Data | Ved, hvilke items der ligger i hvilke slots | InventorySlot, Inventory |
| UI | Tegner indholdet af et inventory på skærmen | SlotUI, InventoryUI |
| Ejere | Har et inventory og bestemmer, hvad det bruges til | Player, Chest, Main |
Fordi data og UI er adskilt, kan den samme Inventory-komponent bruges af en spiller, en kiste eller en fjende, og det samme UI kan vise dem alle. Det er den vigtigste idé i hele tutorialen.
Mappestruktur
Du opretter disse mapper i Godot i trin 1:
res://
├── Sprites/ billeder
├── Resources/
│ └── Items/ dine item-filer (.tres)
├── Scenes/ alle .tscn-filer
└── Scripts/
├── Items/ dine Item-klasser (har du allerede)
├── Inventory/ InventorySlot.cs, Inventory.cs, SlotUI.cs, InventoryUI.cs
└── Game/ Player.cs, Chest.cs, Main.cs
Sådan bruger du tutorialen
- Gå igennem trinene i rækkefølge. Hvert trin bygger på det forrige.
- Kopiér ikke koden blindt. Læs forklaringen, og find ud af, hvorfor koden ser ud, som den gør.
- Filnavne, klassenavne og nodenavne skal stå præcis, som de er skrevet. Godot skelner mellem store og små bogstaver.
- Efter hver ændring i C#-kode skal du trykke på Build (hammer-ikonet øverst til højre i Godot). Ellers opdager editoren ikke ændringerne.
- Hvis noget går galt, så kig på siden Fejlfinding.
Du er klar til at starte: Gå til trin 1 →
