Video anzeigen mit Hindernissen // gelöst
Verfasst: 09.08.2006 17:43
Hallo Leute!
Bei dem Versuch ein Video anzuzeigen und gleichzeitig den nicht vom Video eingenommenen Bildschirmplatz mit Farbe zu füllen bin ich auf das Problem gestoßen, dass sich der Befehl PlayMovie() irgendwie nicht mit den anderen Spritebefehlen zu vertragen scheint.
Hier mein Code:
Ich habe keine Ahnung, was ich falsch mache. Ich habe es alternativ mit dem Box(...)-Befehl versucht, aber dann ist das Video nicht zu sehen, auch wenn ich zuerst den Kasten male und dann das Video starte.
Hat jemand ne Idee?
Bei dem Versuch ein Video anzuzeigen und gleichzeitig den nicht vom Video eingenommenen Bildschirmplatz mit Farbe zu füllen bin ich auf das Problem gestoßen, dass sich der Befehl PlayMovie() irgendwie nicht mit den anderen Spritebefehlen zu vertragen scheint.
Hier mein Code:
Code: Alles auswählen
;{ Initialisierungen }
;-Initialisierungen
;Alles Initialisiert, was notwendig
;}
; Noch ein bisschen Quelltext
;{ Prozedurdeklarationen }
;-Prozedurdeklarationen
Declare.l ShowPreview()
;}
OpenWindow(0,0,0,1024,768,"Testfenster",#PB_Window_BorderLess|#PB_Window_ScreenCentered| #PB_Window_Maximize)
OpenWindowedScreen(WindowID(0),0,0,1024,768,0,0,0)
;Noch etwas diverser Quelltext
;{ Hauptschleife }
Repeat
;Quelltext bla blub trallala - unter anderem ein paar lustige
; Sprites malen und mit der Maus spielen
ShowPreview()
Until end_prog =1 ; end_prog ist ne Variable, aus dem Quelltext oben
;}
;-Ende
End
Procedure ShowPreview()
;-Prozedur ShowPreviev()
;{ Video laden }
If LoadMovie(0,"Preview.avi")
ResizeMovie(0,112,84,800,600) ;sollte auf jeden Fall ausgeführt werden!
;}
;{ Video zeigen }
; Hier habe ich es mit ClearScreen(0) versucht
PlayMovie(0,ScreenID())
;Hier auch
StartDrawing(WindowOutput(0))
DrawText(112, 700,"Ende mit beliebiger Taste",$FFFFFF,0)
StopDrawing()
;Jetzt sollte das Video laufen... Und der Text zu sehen sein
;funktioniert auch - nur dass man halt den Rest in schönem
;Windows- Grau sieht (je nach Einstellung)
Repeat
ExamineKeyboard()
Until KeyboardReleased(#PB_Key_All)
StopMovie(0)
FreeMovie(0)
EndIf
;}
ProcedureReturn
EndProcedure
Hat jemand ne Idee?