LoadSprite() liefert immer 0 als Ergebnis

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Delle
Beiträge: 1144
Registriert: 10.05.2005 22:48

LoadSprite() liefert immer 0 als Ergebnis

Beitrag 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
  
PB 6.21 | Win 11
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: LoadSprite() liefert immer 0 als Ergebnis

Beitrag von STARGÅTE »

Du brauchst einen geöffneten Screen (OpenWindowedScreen() oder OpenScreen()) um Sprites zu laden.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Delle
Beiträge: 1144
Registriert: 10.05.2005 22:48

Re: LoadSprite() liefert immer 0 als Ergebnis

Beitrag 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...
PB 6.21 | Win 11
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: LoadSprite() liefert immer 0 als Ergebnis

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten