Seite 1 von 2
loadsprite
Verfasst: 30.11.2010 17:58
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????
Re: loadsprite
Verfasst: 30.11.2010 18:11
von Kiffi
oberfeld hat geschrieben:Was hat sich seit damls geändert????
der Pfad?
Grüße ... Kiffi
Re: loadsprite
Verfasst: 01.12.2010 17:20
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???
Re: loadsprite
Verfasst: 01.12.2010 17:32
von jojo1541
hast du in loadspirte nur "picture1" stehen, oder den kompletten pfad, bzw. mindestens ne Dateiendung?
Re: loadsprite
Verfasst: 01.12.2010 18:31
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" ?
Re: loadsprite
Verfasst: 01.12.2010 18:44
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??
Re: loadsprite
Verfasst: 01.12.2010 18:55
von Bisonte
Bitte CODE Tags nutzen
Also auf den ersten Blick hätte der Compiler schon bei
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...
Re: loadsprite
Verfasst: 01.12.2010 20:14
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
Re: loadsprite
Verfasst: 01.12.2010 22:19
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
Re: loadsprite
Verfasst: 02.12.2010 15:13
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.