Sprite, Mouse und Absturz
Verfasst: 16.10.2005 09:48
Tach allerseits,
habe vor (weil Faxen dicke mit Visual Basic) DER_PROZESS komplett
neu in PureBasic zu schreiben: www.der-prozess.de
Ums verrecken krieg ich den Teil mit der Grafik nicht hin.
Sollzustand: Nach Klick auf einem ButtonImageGadget (z.B. einem Ventil),
soll am Mauszeiger dranhängen ein Ventil, dieses soll dann auf der
schwarzen "Arbeitsfläche" plaziert werden. Danach weitere Armaturen, bis
man sein Fliessbild fertig hat.
Bei dem nachfolgendem (bin ja schon dichte dran) Ausschnitt klappt
das nur einmal, beim zweiten klick auf das ButtonImageGadget bleibt das
Programm mit so einer Fehlermeldung hängen. Wieso ? Weiterhin frage
ich mich, ist die Lösung mit dem Sprite überhaupt die beste ?
Danke im voraus für eure Hilfe ! Hier also der Ausschnitt:
=======================================
habe vor (weil Faxen dicke mit Visual Basic) DER_PROZESS komplett
neu in PureBasic zu schreiben: www.der-prozess.de
Ums verrecken krieg ich den Teil mit der Grafik nicht hin.
Sollzustand: Nach Klick auf einem ButtonImageGadget (z.B. einem Ventil),
soll am Mauszeiger dranhängen ein Ventil, dieses soll dann auf der
schwarzen "Arbeitsfläche" plaziert werden. Danach weitere Armaturen, bis
man sein Fliessbild fertig hat.
Bei dem nachfolgendem (bin ja schon dichte dran) Ausschnitt klappt
das nur einmal, beim zweiten klick auf das ButtonImageGadget bleibt das
Programm mit so einer Fehlermeldung hängen. Wieso ? Weiterhin frage
ich mich, ist die Lösung mit dem Sprite überhaupt die beste ?
Danke im voraus für eure Hilfe ! Hier also der Ausschnitt:
=======================================
Code: Alles auswählen
OpenWindow(1, 0, 0, ... , "DER_PROZESS 5.0 by Ralf Neitzel")
... dieverse Vorbereitungen
Procedure HAUPTSCHLEIFE()
;hier läuft das eigentliche Programm ab
InitMouse()
Repeat
EVENT = WaitWindowEvent()
Select EVENT
Case ...
Case #PB_Event_Gadget
Select EventGadgetID()
Case 2
Case 3
Case 4
Case 16
InitSprite()
InitKeyboard()
OpenWindowedScreen(WindowID(1), 1, 32, BREITE, HOEHE, AutoStretch, RightOffset, BottomOffset)
CreateSprite(0, BREITE, HOEHE)
LoadSprite(1, "Bild.bmp" )
Repeat
FlipBuffers()
DisplaySprite(0, x, y)
ExamineMouse()
DisplaySprite(1, WindowMouseX(), WindowMouseY())
ExamineKeyboard()
If MouseButton(1) Or MouseButton(2) Or
KeyboardPushed(#PB_Key_Escape)
ReleaseMouse(1)
FreeSprite(0)
FreeSprite(1)
Break
EndIf
ForEver
EndSelect
EndSelect
Until EVENT = #PB_Event_CloseWindow
EndProcedure