Grafik anvendt i denne tutorial kan hentes her:
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.
NinePatchRect).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.
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.
Hjælpesider:
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.
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
Du er klar til at starte: Gå til trin 1 →