Seite 1 von 1

LoadSprite() liefert immer 0 als Ergebnis

Verfasst: 20.11.2025 19:48
von Delle
Hallo zusammen,

ich kapier's einfach nicht! Bei mir wird immer "0" als Ergebnis bei Loadsprite() zurückgemeldet.

Habe es auch mit PNG probiert, ebenfalls ohne Erfolg.

Pfad ist auch korrekt (extra noch GetCur... hinzugefügt).

Bild ist auch nicht größer als der Screen.

Woran kann das noch liegen?

Code: Alles auswählen

If InitSprite() = 0
    MessageRequester("Error", "Can't open screen & sprite environment!", 0)
    End
  EndIf

  
  
  Enumeration
    
    
    #Kick12
    
    EndEnumeration
    
  
UsePNGImageDecoder()
UseJPEGImageDecoder()
  
  laden = LoadSprite(#Kick12, GetCurrentDirectory()+"test.jpg")
 Debug laden
  

Re: LoadSprite() liefert immer 0 als Ergebnis

Verfasst: 20.11.2025 20:06
von STARGÅTE
Du brauchst einen geöffneten Screen (OpenWindowedScreen() oder OpenScreen()) um Sprites zu laden.

Re: LoadSprite() liefert immer 0 als Ergebnis

Verfasst: 20.11.2025 20:18
von Delle
Stimmt, danke!

Hab nochmal in alte Projekte geguckt und tatsächlich hab ich da alle meine Catchsprites NACH dem OpenScreen.

Eigentlich komisch, warum man die nicht schon vorher reinladen kann...

Re: LoadSprite() liefert immer 0 als Ergebnis

Verfasst: 20.11.2025 20:23
von STARGÅTE
Delle hat geschrieben: 20.11.2025 20:18 Eigentlich komisch, warum man die nicht schon vorher reinladen kann...
Der Screen initialisiert dir eine Umgebung für Texturen, Meshes, Shader usw..
Auch die Sprites sind Texturen mit zwei Dreiecken die im Grafikspeicher abgelegt werden (müssen).
Daher muss erst mal ein Screen da sein.
Das unterscheidet Sprites z.B. von Images, diese liegen im Arbeitsspeicher.