Hallo alle zusammen!
Ich wollte mal wieder anfangen, zu programmieren. Hatte mir daher die neuste DEMO von Pure Basic heruntergeladen. Soweit, so gut - Aber kaum will ich mein erstes kleines Programm schreiben, schon werde ich wieder ausgebremst: LoadSprite() funktioniert irgendwie nicht - oder nicht mehr so, wie es mal bei einer der alten Versionen war. Ich bekomme dann jedesmal diese Meldungen nach dem Versuch, es zu Kompilieren:
1.: Die angegebene Datei existiert nicht.
2.: Das angegebene #Sprite ist nicht initialisiert.
Hmmm... toll dachte ich, und startete prompt einmal eines der mitgelieferten Examples. Genau der selbe Mist... Alle examples, die mit Sprites zu tun haben, leiden unter genau den selben "Fehlern".
Hier noch ein paar Infos, die euch vielleicht helfen könnten:
Die angegebene Datei existiert definitiv, auch Absolute Pfadangabe geht nicht.
Ich arbeite mit Windows XP
Die Version der PB Demo ist 4.51 (x86)
Ich danke euch schon mal im Vorraus, und hoffe, dass ihr eine Lösung wisst!
Kurono
LoadSprite() funzt nicht.
-
- Beiträge: 4
- Registriert: 15.10.2011 23:22
- Computerausstattung: Intel Core 2 Duo , Windows XP , NVidia Geforce 9800 GTX+, 4GB RAM
- Wohnort: Schleswig-Holstein
LoadSprite() funzt nicht.
Das Leben ist ein scheiß Spiel, aber die Grafik ist irre!
Re: LoadSprite() funzt nicht.
Ohne das du hier explizit deinen gestarteten Code posten kann man nichts dazu sagen.
Fest steht, LoadSprite() funktioniert!
Wenn es nicht funktioniert hat es einen/mehrere der folgenden Grunde:
Fest steht, LoadSprite() funktioniert!
Wenn es nicht funktioniert hat es einen/mehrere der folgenden Grunde:
- Das Bild hat ein anderes Format als *.bmp, und der entsprechende ImagerDecoder wurde nicht geladen
- Der Pfadname ist nicht absolut, und du arbeitest im falschen Arbeitsverzeichneis (Stichwort: SetCurrentDirectory)
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
- Beiträge: 4
- Registriert: 15.10.2011 23:22
- Computerausstattung: Intel Core 2 Duo , Windows XP , NVidia Geforce 9800 GTX+, 4GB RAM
- Wohnort: Schleswig-Holstein
Re: LoadSprite() funzt nicht.
Danke für die schnelle Hilfe!
Also dann hier mal ein Code, bei dem der Fehler unter anderem auftaucht:
Bei diesem Code ist es genau der beschriebene Fehler, und das obwohl es doch ein Example ist!
Wenn ich das directory angeben will, sagt er mir: ungültiger Speicherzugriff.
Kann es sein, dass mein Virenscanner dem PB nicht erlaubt, Dateien zu laden? Gemeckert hat er jedenfalls noch nicht!
Also dann hier mal ein Code, bei dem der Fehler unter anderem auftaucht:
Code: Alles auswählen
;
;
; ------------------------------------------------------------
;
; PureBasic - Mouse example file
;
; (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;
If InitMouse() = 0 Or InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Error", "Can't open DirectX 7", 0)
End
EndIf
;
;-------- MessageReq and OpenScreen --------
;
MessageRequester("Information", "This will test the fast mouse access..."+Chr(10)+"Press any mouse button to quit!", 0)
If OpenScreen(800, 600, 16, "Mouse") = 0
MessageRequester("Error", "Impossible to open a 800*600 16 bit screen",0)
End
EndIf
;
;-------- Init and Load Stuff --------
;
x = 100
y = 100
LoadSprite(0, "Data/PureBasic.bmp", 0) ; Load nice small Logo
;
;-------- MainLoop --------
;
Repeat
FlipBuffers() ; Flip for DoubleBuffering
ClearScreen(RGB(0,0,0)) ; CleanScreen, black
ExamineKeyboard()
ExamineMouse()
x = MouseX() ; Returns actual x pos of our mouse
y = MouseY() ; Returns actual y pos of our mouse
x+MouseWheel()*10
If MouseButton(#PB_MouseButton_Middle)
MouseLocate(400, 300)
EndIf
DisplaySprite(0, x-SpriteWidth(0)/2, y-SpriteHeight(0)/2)
Until MouseButton(#PB_MouseButton_Left) Or MouseButton(#PB_MouseButton_Right)
End
End
Wenn ich das directory angeben will, sagt er mir: ungültiger Speicherzugriff.
Kann es sein, dass mein Virenscanner dem PB nicht erlaubt, Dateien zu laden? Gemeckert hat er jedenfalls noch nicht!
Das Leben ist ein scheiß Spiel, aber die Grafik ist irre!
Re: LoadSprite() funzt nicht.
Dort wird aber ein relativer Pfad verwendet, das heißt das Arbeitsverzeichnis muss bereits in Examples liegen!
Versuch es doch einfach mal bitte mit dem absoluten Pfad des Bildes.
Das Beipsiel funktioniert auch nur dann, wenn du es auch als Datei lädst, also nicht in ein neues Projekt kopieren und starten.
Versuch es doch einfach mal bitte mit dem absoluten Pfad des Bildes.
Das Beipsiel funktioniert auch nur dann, wenn du es auch als Datei lädst, also nicht in ein neues Projekt kopieren und starten.
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
- Beiträge: 4
- Registriert: 15.10.2011 23:22
- Computerausstattung: Intel Core 2 Duo , Windows XP , NVidia Geforce 9800 GTX+, 4GB RAM
- Wohnort: Schleswig-Holstein
Re: LoadSprite() funzt nicht.
Ahaaa! Okay, da lag der Fehler! Was man auf jeden Fall erwähnen sollte: Pure Basic verwendet umgekehrte Slashs als Windows... das verwirrt ein wenig!
Bei dem Example läuft die Maus aber gar nicht gut... hängt voll!
Auf jeden Fall vielen Dank für die schnelle und kompetente Hilfe!
Dann kann ich ja endlich loslegen, meine Idee in die Tat umzusetzen!
Kurono

Bei dem Example läuft die Maus aber gar nicht gut... hängt voll!

Auf jeden Fall vielen Dank für die schnelle und kompetente Hilfe!

Dann kann ich ja endlich loslegen, meine Idee in die Tat umzusetzen!
Kurono
Das Leben ist ein scheiß Spiel, aber die Grafik ist irre!
Re: LoadSprite() funzt nicht.
In Windows ist zwar der "\" üblich, es funktioniert aber genauso auch der "/". Wenn man also plattformübergreifend einen Pfad angeben will, kann man besser "/" verwenden.KuronoKei1988 hat geschrieben:Ahaaa! Okay, da lag der Fehler! Was man auf jeden Fall erwähnen sollte: Pure Basic verwendet umgekehrte Slashs als Windows... das verwirrt ein wenig!
-
- Beiträge: 4
- Registriert: 15.10.2011 23:22
- Computerausstattung: Intel Core 2 Duo , Windows XP , NVidia Geforce 9800 GTX+, 4GB RAM
- Wohnort: Schleswig-Holstein
LoadSprite() funzt nicht.
Vielen Dank auch noch mal dir, Ramihyn_ !Wenn man also plattformübergreifend einen Pfad angeben will, kann man besser "/" verwenden.

Ich denke, dann ist das Problem gelöst, und der Thread somit erledigt.

Das Leben ist ein scheiß Spiel, aber die Grafik ist irre!