[Gelöst] #Sprite object not initialized

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureSoft
Beiträge: 20
Registriert: 18.06.2008 11:08
Wohnort: Saarland
Kontaktdaten:

[Gelöst] #Sprite object not initialized

Beitrag 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
Zuletzt geändert von PureSoft am 19.01.2009 21:53, insgesamt 1-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

es heißt nicht DisplaySprite(SpriteID(0),maus_x,maus_y)
sondern:
DisplaySprite(0,maus_x,maus_y)
also ohne SpriteID()
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
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

machs mal so:

Code: Alles auswählen

 DisplaySprite(0,maus_x,maus_y) 
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
PureSoft
Beiträge: 20
Registriert: 18.06.2008 11:08
Wohnort: Saarland
Kontaktdaten:

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

debug mal das LoadSprite(0,"data\gfx\mauszeiger.bmp",0)
ausserdem check ob die bmp in ordnung ist.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PureSoft
Beiträge: 20
Registriert: 18.06.2008 11:08
Wohnort: Saarland
Kontaktdaten:

Beitrag 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
Projekte: -
Fortschritt: -
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

vermutlich, wenn du ihr zuerst anzeigtst und dnan alle andere dinge drüber machst ...
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
PureSoft
Beiträge: 20
Registriert: 18.06.2008 11:08
Wohnort: Saarland
Kontaktdaten:

Beitrag von PureSoft »

Jap, ist gelöst, danke nochmal <)

mfg
Projekte: -
Fortschritt: -
Antworten