====== Fejlfinding ====== [[.:inventory:inventory_ui|← Til forsiden]] Her er de mest almindelige fejl, og hvad du kan gøre ved dem. Læs fejlbeskeden i **Output**- og **Debugger**-panelet nederst i Godot. Den fortæller ofte, hvilken fil og linje der fejler. ===== Fejl i editoren og ved Build ===== ^ Problem ^ Mulig årsag ^ Løsning ^ | Min klasse (fx ''Inventory'') findes ikke i listen, når jeg tilføjer en Node | Projektet er ikke bygget, eller klassen mangler ''partial'' eller ''[GlobalClass]'' | Tryk på **Build**. Tjek, at klassen står som ''public partial class'', og at ''[GlobalClass]'' står lige over den. | | Fejl om, at scriptet ikke kan indlæses, eller at klassen ikke findes | Filnavnet matcher ikke klassenavnet | Kald filen det samme som klassen, fx ''Inventory.cs'' for ''class Inventory''. Store og små bogstaver tæller. | | Mine nye ''[Export]''-felter vises ikke i Inspector | Du har ikke bygget efter ændringen | Tryk på **Build**. Luk og åbn evt. scenen igen. | | Røde fejl ved Build om en manglende type | Tastefejl i et navn, eller en fil mangler | Læs fejlbeskeden, og find linjen. Tjek stavning og store/små bogstaver. | | Build virker ikke overhovedet | .NET SDK mangler, eller du bruger ikke .NET-udgaven af Godot | Tjek med ''dotnet --version'', og se [[trin1_opsaetning|trin 1]]. | ===== Fejl når spillet kører ===== ^ Problem ^ Mulig årsag ^ Løsning ^ | Fejlen //Node not found// | Stien i ''GetNode'' passer ikke til navnet i Scene-panelet | Navne skal stå helt præcist, fx ''Icon'' og ''Inventory''. For ''%'': tjek, at **Access as Unique Name** er slået til. | | //Object reference not set to an instance of an object// (NullReferenceException) | En variabel er ''null'': fx ''SlotScene'' er ikke sat, eller ''SetItem'' bruges, før noden er klar | Tjek Inspector for tomme felter. Slots skal tilføjes til træet (''AddChild'') før ''SetItem'' kaldes. | | Beskeden //SlotScene er ikke sat i Inspector// | Feltet **Slot Scene** på ''InventoryUI'' er tomt | Åbn ''InventoryUI.tscn'', markér roden, og træk ''SlotUI.tscn'' ind i feltet. | | Gridet er tomt | ''SetInventory'' er ikke kaldt, eller ''Main.cs'' er ikke sat på ''Main'' | Tjek, at ''Main'' har scriptet, og at ''Main.tscn'' er hovedscenen. | | Items vises ikke i slots | **Start Items** er tomme, eller itemet har intet ikon | Tjek ''Inventory'' i Player- og Chest-scenen og ikonet i ''.tres''-filen. | | For mange tomme slots i gridet | Du har glemt at slette test-slots i ''Grid'' fra [[trin4_inventory_ui|trin 4]] | Åbn ''InventoryUI.tscn'' og slet alle børn under ''Grid''. | | Antal slots ændrer sig ikke | Du har ændret **Slot Count** i en anden scene end den, du kører | Slot Count står på ''Inventory'' i ''Player.tscn'' og ''Chest.tscn''. | ===== Udseende ===== ^ Problem ^ Mulig årsag ^ Løsning ^ | Baggrundens hjørner er forvrænget eller uskarpe | **Patch Margin** er for lille eller 0 | Sæt Patch Margin til tykkelsen af billedets kant i pixels. | | Baggrunden dækker ikke hele inventoryet | ''Background'' står ikke direkte under roden, eller rod-noden er ikke en ''MarginContainer'' | Opbyg scenen som vist i [[trin4_inventory_ui|trin 4]]. | | Pixelart ser udtværet ud | Godot udglatter billeder som standard | Sæt //Rendering → Textures → Canvas Textures → Default Texture Filter// til **Nearest**. | | Ikonet gør slotten større end 64x64 | ''Expand Mode'' på ''Icon'' er ikke **Ignore Size** | Sæt Expand Mode til **Ignore Size**. | | Inventoryet sidder i hjørnet af skærmen | ''CenterContainer'' fylder ikke hele skærmen | Vælg **Layout → Full Rect** på ''CenterContainer''. | ===== Tooltips ===== ^ Problem ^ Mulig årsag ^ Løsning ^ | Ingen tooltip vises | ''Mouse Filter'' er sat til **Ignore** på ''SlotUI'', eller slotten er tom | Sæt Mouse Filter på ''SlotUI'' til **Stop**. Tooltips vises kun for slots med et item. | ===== Sådan finder du fejl selv ===== - Læs fejlbeskeden helt. Den siger, hvilken fil og linje der fejler. - Brug ''GD.Print("tekst")'' til at skrive værdier i Output og se, hvad koden gør. - Test ét trin ad gangen. Kør ''Player.tscn'' alene med ''F6'', hvis du er i tvivl om, at data virker. - Sammenlign din kode med de færdige filer i ''kode''-mappen.