====== Trin 1: Opsætning af projekt og assets ====== [[.:inventory:inventory_ui|← Til forsiden]] | [[trin2_inventory|Næste: Inventory som data-komponent →]] I dette trin gør du Godot klar til C#, opretter projektet og mapperne og henter grafik. Til sidst tjekker du, at C# virker. ===== Det skal du bruge ===== * **Godot 4 i .NET-versionen** (version 4.3 eller nyere). Godot findes i to udgaver: en standardudgave, som bruger sproget GDScript, og en **.NET-udgave**, som også kan køre C#. Du skal bruge .NET-udgaven. * **.NET SDK.** C# er bygget oven på .NET, så computeren skal have .NET installeret. Godots hjemmeside fortæller, hvilken version din Godot-version kræver (typisk .NET 8). Tjek installationen ved at skrive ''dotnet --version'' i en terminal. * **En kodeeditor.** Visual Studio Code, Visual Studio eller JetBrains Rider virker godt til C#. Du vælger editoren i Godot under //Editor → Editor Settings → Dotnet → Editor//. Din underviser kan hjælpe, hvis opsætningen driller. ===== Forudsætning: Item-klasser ===== Tutorialen antager, at du allerede har en ''Item''-klasse (en ''Resource'') og eventuelle subtyper som ''WeaponItem'' og ''PotionItem'', samt nogle item-filer (''.tres'') med ikoner. Vi gennemgår dem ikke her. Inventoryet bruger kun to felter fra ''Item'': ^ Felt ^ Type ^ Bruges til ^ | ''ItemName'' | ''string'' | Navnet, der vises i tooltip og i test-udskrifter | | ''Icon'' | ''Texture2D'' | Billedet, der vises i slotten | Hvis din ''Item'' bruger andre navne, kan du rette dem i ''SlotUI.cs'' og ''Inventory.cs''. Et eksempel på klasserne ligger i mappen ''kode/Forudsaetning'' i zip-filen. ===== Opret projektet ===== - Start Godot .NET, og klik på **Create**. - Kald projektet ''InventoryTutorial'', og vælg en tom mappe til det. - Vælg renderer **Compatibility** eller **Forward+**. Begge virker, fordi vi kun laver 2D-UI. - Klik på **Create**. Editoren består af nogle faste paneler, som du bruger hele tiden: * **FileSystem** (nederst til venstre) viser filerne i projektet. * **Scene** (øverst til venstre) viser noderne i den scene, du arbejder på. * **Inspector** (til højre) viser egenskaberne for den valgte node eller ressource. Et par begreber, før vi går videre: * En **node** er byggeklodsen i Godot. Hver node har én opgave, fx at vise et billede eller at gruppere andre noder. * Noder er organiseret i et træ af forældre og børn. Et træ af noder gemt i en fil kaldes en **scene** (filtype ''.tscn''). * Du kan sætte et **C#-script** på en node. Scriptet er en klasse, som giver noden ny opførsel. ===== Opret mapperne ===== Højreklik i FileSystem på ''%%res://%%'', og vælg //Create New → Folder//. Opret disse mapper: Assets Resources Resources/Items Scenes Scripts Scripts/Items Scripts/Inventory Scripts/Game **Hvorfor mapper?** Et inventory-system består hurtigt af mange filer. Hvis du fra starten sorterer dem efter type (scripts, scener, ressourcer, billeder), kan du altid finde dem igen. ===== Hent grafik ===== Du skal bruge to slags billeder: * **Et panel-billede til baggrunden** (en ramme med kanter og hjørner). * **Ikoner til items**, fx et sværd, en økse, en drik og en nøgle. Du behøver ikke tegne noget selv. Der findes mange gratis assets: * [[https://kenney.nl/assets|Kenney.nl]]: store pakker, som er gratis at bruge (licensen hedder CC0). Søg efter UI-pakker med paneler, fx //UI Pack – RPG Expansion//, og ikon-pakker som //Game Icons//. Udvalget ændrer sig, så brug søgefunktionen. * [[https://itch.io/game-assets/free|itch.io]]: find gratis assets, og søg efter //inventory//, //icons// eller //UI//. Tjek altid licensen på siden. Nogle assets kræver, at du krediterer kunstneren. Sådan får du billederne ind i projektet: - Hent og pak zip-filen ud på din computer. - Find ét panel-billede og fire ikoner. Vælg ikoner i samme stil. - Træk billederne ind i mappen ''Assets'' i FileSystem-panelet. **Pixelart-tip:** Hvis dine billeder er pixelart, ser de uskarpe ud, fordi Godot som standard udglatter billeder. Gå til //Project → Project Settings → Rendering → Textures//, og sæt **Canvas Textures → Default Texture Filter** til **Nearest**. Slå evt. **Advanced Settings** til øverst i vinduet, hvis indstillingen ikke vises. ===== Gør C# klar ===== - Højreklik på mappen ''Scripts/Items'', og vælg //Create New → Script//. - Sæt **Language** til **C#**, og kald filen ''Test.cs''. Klik på **Create**. - Hvis Godot spørger, om den skal oprette en C#-solution, så accepter. Ellers kan du vælge //Project → Tools → C# → Create C# Solution//. - Tryk på **Build** (hammer-ikonet øverst til højre, eller ''Alt+B''). Når nederste panel viser **Build** uden røde fejl, virker C#. Slet derefter ''Test.cs'' igen. **Vigtigt om C# i Godot:** Du skal trykke på Build, hver gang du har ændret i C#-kode og vil se ændringen i editoren. Godot kører ikke din kode direkte. Koden skal først oversættes (bygges). Det gælder især, når du tilføjer eller ændrer ''[Export]''-variabler. Dem ser Inspector først efter en Build. ===== Tjekliste ===== * Godot .NET starter, og projektet er oprettet. * Mapperne findes i FileSystem. * Et panel-billede og nogle item-ikoner ligger i ''Assets''. * Build giver ingen fejl. [[trin2_inventory|Næste: Inventory som data-komponent →]]