loadsprite

Anfängerfragen zum Programmieren mit PureBasic.
oberfeld
Beiträge: 6
Registriert: 12.10.2004 18:08

loadsprite

Beitrag von oberfeld »

Nun bin ich endlich von Windows98 auf Win7 (64 bit..) umgestiegen.
Ergebnis: Einige "alte" PB-Programme laufen nicht mehr.
Vieles habe ich dank Eurer Hinweis hier im Forum klären können.

Probleme macht noch initsprite() .......loadsprite(0, "picture1",0)

Fehlerhinweis: ...angegebener #Sprite ist nicht initialisiert.

Was hat sich seit damls geändert????
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: loadsprite

Beitrag von Kiffi »

oberfeld hat geschrieben:Was hat sich seit damls geändert????
der Pfad?

Grüße ... Kiffi
a²+b²=mc²
oberfeld
Beiträge: 6
Registriert: 12.10.2004 18:08

Re: loadsprite

Beitrag von oberfeld »

Der Pfad ist es wohl nicht.
Die bmp und das Programm stehen im gleichen Ordner.
Auch ausführliche Pfadbeschreibung: "C:\User\Desktop\PureBasic\picture01.bmp" lädt die Sprites nicht.

Muss ich evtl. Win7-Einstellungen ändern???
Benutzeravatar
jojo1541
Beiträge: 431
Registriert: 15.09.2007 17:12
Wohnort: Irgendwo im Nirgendwo

Re: loadsprite

Beitrag von jojo1541 »

hast du in loadspirte nur "picture1" stehen, oder den kompletten pfad, bzw. mindestens ne Dateiendung?
Ich verkaufe Rechtschreibfehler und jede menge GROßBUCHSTABEN. Alles unbegrenzt zu haben.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: loadsprite

Beitrag von STARGÅTE »

Wie wäre es wenn du uns mal einen Codeausschnitt lieferst,
der bei dir eben diesen Fehler erzeugt?

LoadSprite() geht auch nur wenn ein Screen geöffnet wurde ...
Wo kommt der Fehler "angegebener #Sprite ist nicht initialisiert" ?
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
oberfeld
Beiträge: 6
Registriert: 12.10.2004 18:08

Re: loadsprite

Beitrag von oberfeld »

Vorab vielen Dank für Eure Bemühungen.
Schon etwas frustierend, wenn man so simplen Befehlen so viel Zeit verbraucht.

Hier mein kleines Programm:


InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(1600,900,16,"Mouse-Bewegungen")

; 2. Laden der Grafik

LoadSprite(0,picture01.bmp",0)

Repeat

; Abfrage Eingaben

ExamineMouse()
ExamineKeyboard()

; Setzen Grafik

ClearScreen(RGB(255,255,150))

TransparentSpriteColor(0,(RGB(255,0,255)))


; Bewegung der Maus

DisplaySprite(0,MouseX()+10,MouseY()+10)

FlipBuffers()
Until KeyboardPushed(1)
End

Fehlerhinweis für Zeile "DisplaySprite..." ...#Sprite ist nicht initialisiert...

Habe ich vielleicht das falsche DirectX??
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: loadsprite

Beitrag von Bisonte »

Bitte CODE Tags nutzen 8)

Also auf den ersten Blick hätte der Compiler schon bei

Code: Alles auswählen

LoadSprite(0,picture01.bmp",0)
das fehlende " anmeckern müssen...

1. Sicherstellen, dass das Bild auch im BMP format vorliegt.
2. Am besten (zum testen) mit kompletten Dateipfad laden lassen. (z.B.: "C:\Bilder\picture.bmp")

Ansonsten sollte mit LoadSprite(0,"picture.bmp") alles so richtig sein...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: loadsprite

Beitrag von STARGÅTE »

Als erstes solltest du für jeden Befehl der ein Rückgabewert liefert (ob er erfolgreich war) auch überprüfen ob dieser erfolgreich war.
Das betrifft:
  • InitSprite()
  • InitKeyboard()
  • InitMouse()
  • OpenScreen()
  • LoadSprite()
Das mag dir vllt etwas "überflüssig" erscheinen, wenn der Code läuft, aber wenn er eben nicht läuft, ist es so einfach, den Fehler zu finden.
Vorallem wundert es mich das du diesen Screen öffnen kannst: 1600 × 900 , 16Bit
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
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: loadsprite

Beitrag von Fluid Byte »

oberfeld hat geschrieben:Muss ich evtl. Win7-Einstellungen ändern???
Du hast 12 Jahre Betriebssystem-Entwicklung verpasst, also, ja.
C:\Users\{Benutzername}\Desktop\PureBasic\picture01.bmp
Windows 10 Pro, 64-Bit / Outtakes | Derek
oberfeld
Beiträge: 6
Registriert: 12.10.2004 18:08

Re: loadsprite

Beitrag von oberfeld »

Besonders der letzte Hinweishilft mir narürlich sehr weiter.
Unter Windows98 + ältere PB-Version läuft alles (auch komplexere Lade-Vorgänge) und unter Win7 + akt. PB-Version
gibt es trotz exakter Pfadbezeichnung den o.a. Fehlenhinweis.

Fazit: Dann muss ich wohl weiter unter Windows98 programmieren. Back to the roots.

P.S. Was meint eigentlich der Spruch:
HeX0r : "Schön, wie mal wieder ein Versuch zur Entwicklung von Eigeninitiative gnadenlos ausgekontert wird..."

Heisst das: Jeder suche gefälligst seine eigenen Fehler? Dann könnten wir uns ja die Foren sparen.
Antworten