Seite 1 von 2
IncludeBinary (Save Sprite)
Verfasst: 13.04.2005 15:55
von Green Snake
Hallo zusammen
habe hier eine frage, aus der ich einfach nicht schlau werde, wiso ein fehler kommt.
Code: Alles auswählen
InitSprite()
Bild: IncludeBinary "Bild.bmp"
CatchSprite (0, ?Bild)
Select MessageRequester("Entpacken?", "Wollen Sie das Bild entpacken?", #MB_YESNO|#MB_ICONINFORMATION)
Case #IdYes
SaveSprite(0,"Bild.bmp")
Case #IdNo
End
EndSelect
]
was stimmt an dem code nicht? bzw warum funktioniert er nicht?
muss man das anders machen?
Verfasst: 13.04.2005 16:19
von Ynnus
Solche Includes packt man besser in Data-Sections und dann am Ende des Quellcodes, nicht mitten drinne.
EDIT: Afaik sollte ein Screen vorhanden sein um mit Sprites zu handlen. Also wirst du wohl vorher einen Screen erstellen müssen bevor du catchst oder speicherst.
Verfasst: 13.04.2005 16:28
von Leo
Wenn du keinen Screeen willst, dann nimm CatchImage und Sa
veImage!

MIt image gehts
Verfasst: 13.04.2005 16:34
von Green Snake
hallo
komisch, mit catchimage und saveimage gehts, jedoch nicht mit catchsprite und savesprite.
woran liegt das?
danke dir sunny
und speziellen dank an leo, wegen der idee mit dem image
Verfasst: 13.04.2005 16:50
von bobobo
Du brauchst 'n screen für Sprites. Außerdem packst Du Includebinaries innerhalb des Codes in Datasection und Enddatasection .. Ansonsten ans Ende damit
Code: Alles auswählen
InitSprite()
OpenWindow(0,0,0,200,200,#PB_WINDOW_SCREENCENTERED,"Fenster")
OpenWindowedScreen(WindowID(0),0,0,WindowWidth(),WindowHeight(),1, 0, 0)
CatchSprite (0, ?Bild)
DataSection
Bild:
IncludeBinary "d:\Bild.bmp"
EndDataSection
Select MessageRequester("Entpacken?", "Wollen Sie das Bild entpacken?", #MB_YESNO|#MB_ICONINFORMATION)
Case #IdYes
SaveSprite(0,"d:\Bild1.bmp")
Case #IdNo
End
EndSelect
;Bild: IncludeBinary "d:\Bild.bmp"
Ok danke
Verfasst: 13.04.2005 16:52
von Green Snake
ok danke
danke euch allen
Verfasst: 13.04.2005 23:21
von Kaeru Gaman
@bobobo
auch wenn das ding am ende includet wird, muss es vom code getrennt werden.
also, endweder ein End hinter den Code, oder ein DataSection vor das Label.
(oder beides, das wär sauber)
sonst läuft das prog nämlich weiter, und die CPU versucht, die Daten auszuführen -> Absturz
Verfasst: 14.04.2005 02:13
von ts-soft
@Kaeru Gaman
Ich glaube Du hast da was übersehen, die Stelle die Du meinst, ist auskommentiert. Das IncludeBinary steht in einer DataSection "
Gruß
Thomas
Verfasst: 14.04.2005 11:57
von bobobo
@Kaeru u.s.w.
hier stürzt aber nichts ..
aber recht hast Du wohl trotzdem
@ts-soft
Das hatte ich da unten nur semikoliert hingeschrieben um zu zeigen wo man sowas hinpacken kann.
Verfasst: 14.04.2005 12:52
von Kaeru Gaman
ja, das semikolon war wohl nicht ganz in mein bewußtsein gedrungen...
aber das problem ist trotzdem real, ich hatte da erst vor kurzem drauf hingewiesen,
weil ein kollege immer ne win-fehlermeldung am programmende bekam...