Seite 1 von 1

[Gelöst] #Sprite object not initialized

Verfasst: 19.01.2009 21:23
von PureSoft
Die Fett hervorgehobenen Zeilen sind das Problem, es kommt immer die Fehlermeldung: "#Sprite object not initialized"
Ich habe keine Ahnung was ich falsch gemacht habe, es soll einfach nur ein Bild von einem Mauszeiger geladen werden...
Hier mal ein Teil des Codes(hab sufu benutzt):
If InitSprite() = 0 : fehler = 1 : EndIf
If InitKeyboard() = 0 : fehler = 1 : EndIf
If InitMouse() = 0 : fehler = 1 : EndIf
If InitSound() = 0 : fehler = 1 : EndIf
UseJPEGImageDecoder()

If fehler = 1 : MessageRequester("Fehler","Konnte nicht starten!",#PB_MessageRequester_Ok) : EndIf ;Fehlermeldung fals das Spiel nicht starten konnte

If OpenScreen(800,600,32,"Ro2D") = 0 ;Vollbild wird geöffnet
MessageRequester("Fehler","Konnte Vollbild nicht öffnen!",#PB_MessageRequester_Ok) ;Fehlermeldung fals das Vollbild nicht geöffnet werden konnte
Else ;Normalen Code ausführen

;Variablen erstellen und festlegen
screen_zahl = Random(2) ;Wird benötigt damit man am Anfang einen Screen sieht
maus_x = 400
maus_y = 300

;Dateien in das Spiel einbinden
LoadImage(0,"data\gfx\hunter_screen.jpg")
LoadImage(1,"data\gfx\wizzard_screen.jpg")
LoadImage(2,"data\gfx\assassin_screen.jpg")
LoadSprite(0,"data\gfx\mauszeiger.bmp",0)

Repeat ;Hauptschleife für das Game startet hier

ExamineKeyboard() ;Keyboard wird abgefragt
ExamineMouse() ;Maus wird abgefragt
ClearScreen(RGB(0,0,0)) ;Bildschirm wird geleert

maus_x = MouseX()
maus_y = MouseY()

DisplaySprite(SpriteID(0),maus_x,maus_y)

StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent) ;Text wird auf Transparentem Hintergrund geschrieben
;Der Startscreen wird durch Zufall festgelegt
If screen_zahl = 0
DrawImage(ImageID(0),0,0)
ElseIf screen_zahl = 1
DrawImage(ImageID(1),0,0)
ElseIf screen_zahl = 2
DrawImage(ImageID(2),0,0)
EndIf
StopDrawing()

FlipBuffers() ;Die Bildschirme werden vertauscht

If KeyboardPushed(#PB_Key_Escape) ;Das Programm wird nach Knopfdruck beendet
End
EndIf

ForEver

EndIf
mfg

Verfasst: 19.01.2009 21:31
von STARGÅTE
es heißt nicht DisplaySprite(SpriteID(0),maus_x,maus_y)
sondern:
DisplaySprite(0,maus_x,maus_y)
also ohne SpriteID()

Verfasst: 19.01.2009 21:31
von DrShrek
machs mal so:

Code: Alles auswählen

 DisplaySprite(0,maus_x,maus_y) 

Verfasst: 19.01.2009 21:35
von PureSoft
Geht auch nicht, wollt ich eigentlich dazu schreiben, hielt es aber für nebensächlich, der gleiche Fehler. Wie gesagt ich weiß echt nicht woran es liegt :? Trotzdem danke

mfg

Verfasst: 19.01.2009 21:43
von ts-soft
debug mal das LoadSprite(0,"data\gfx\mauszeiger.bmp",0)
ausserdem check ob die bmp in ordnung ist.

Verfasst: 19.01.2009 21:51
von PureSoft
ts-soft hat geschrieben:debug mal das LoadSprite(0,"data\gfx\mauszeiger.bmp",0)
ausserdem check ob die bmp in ordnung ist.
PROBLEM GELÖST, DANKE AN ALLE DIE IN DEN THREAD GESCHRIEBEN HABEN

//Ok danke es funktioniert, die Datei war Defekt, ich Idiot hab daran 1 //ganzer Tag gessesen :allright:
//Nunja, aber der Mauszeiger wird immernoch nicht angezeigt, zwar keine //Fehlermeldung mehr, aber dafür auch kein Mauszeiger. Überdecken die //Bilder ihn?

mfg

Verfasst: 19.01.2009 21:53
von STARGÅTE
vermutlich, wenn du ihr zuerst anzeigtst und dnan alle andere dinge drüber machst ...

Verfasst: 19.01.2009 21:57
von PureSoft
Jap, ist gelöst, danke nochmal <)

mfg