aufgrund einer Anforderung aus dem Bereich muss ich eine Art interaktive Präsenation eines Tools erstellen. Ich hab mich dazu das erste mal mit 2D und animierten Geschichten befasst. Leider habe ich schon nach 2 Minuten das erste Problem

Code: Alles auswählen
If InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Error", "Can't open DirectX 7 or later", 0)
End
EndIf
If OpenWindow(24,0,0,798,473,"Interaktive Präsentation",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(24),0,0,798,473,0,0,0)
If StartDrawing(ScreenOutput())
DrawImage(CatchImage(0,?Bild_1),0,0)
StopDrawing()
EndIf
CreateSprite(0,13,22)
If StartDrawing(SpriteOutput(0))
DrawImage(CatchImage(0,?Bild_8),0,0)
StopDrawing()
EndIf
CreateSprite(3,13,22)
If StartDrawing(SpriteOutput(3))
DrawImage(CatchImage(2,?Bild_7),0,0)
StopDrawing()
EndIf
Else
MessageRequester("Error", "Can't open windowed screen!", 0)
End
EndIf
direction = 5
x=200
Repeat
Event.l = WindowEvent()
FlipBuffers()
ClearScreen(RGB(0,0,0))
If StartDrawing(ScreenOutput())
DrawImage(CatchImage(0,?Bild_1),0,0)
StopDrawing()
EndIf
TransparentSpriteColor(0,RGB(255,0,255))
DisplayTransparentSprite(0,x,245)
x+direction
If x > 320
Event=1
ElseIf x < 0
direction = 5
EndIf
Delay(1)
Until Event=1
Delay(1000)
FlipBuffers()
ClearScreen(RGB(0,0,0))
If StartDrawing(ScreenOutput())
DrawImage(CatchImage(0,?Bild_1),0,0)
StopDrawing()
EndIf
TransparentSpriteColor(3,RGB(255,0,255))
DisplayTransparentSprite(3,150,245)
Delay(1000)
EndIf
End
Bild_1:IncludeBinary "_1.bmp"
Bild_2:IncludeBinary "_2.bmp"
Bild_3:IncludeBinary "_3.bmp"
Bild_7:IncludeBinary "_7.bmp"
Bild_8:IncludeBinary "_8.bmp"
Bild_9:IncludeBinary "_9.bmp"
Bild_10:IncludeBinary "_10.bmp"
Der Code arbeitet nur mit Images. Der Code zeigt ein Fenster an und bewegt ein Sprite ("Mauszeiger") von A nach B. Dann wird ein ein Klick gezeigt, der Button wird eingedrückt und ein neues Fenster öffnet sich. Der Mauszeiger bewegt sich wie gewollt von A nach B, aber ab dem Verlassen der erste Schleife
Code: Alles auswählen
Until Event=1
Delay(1000)
passiert nichts mehr. Der anschließende Code wird zudem auch nicht mehr ausgeführt:
Code: Alles auswählen
FlipBuffers()
ClearScreen(RGB(0,0,0))
If StartDrawing(ScreenOutput())
DrawImage(CatchImage(0,?Bild_1),0,0)
StopDrawing()
EndIf
TransparentSpriteColor(3,RGB(255,0,255))
DisplayTransparentSprite(3,150,245)
Delay(1000)