Ich hab jetzt meine erste Hintergrundmusik im midi-Format, die will ich natürlich endlos lange abspielen, aebr bei mir hört si e immer nach ein Mal auf.

Was muss ich machen, damit sie weiterspielt?
Code: Alles auswählen
Global StopThreads.l
Procedure repeatmovie(movie.l)
Repeat
UseMovie(movie)
If MovieStatus() <= 0
PlayMovie(movie,WindowID())
EndIf
Delay(100)
Until StopThreads = 1
EndProcedure
CreateThread(@repeatmovie(),0)
...
StopThreads = 1
Code: Alles auswählen
MovieStatus()
Code: Alles auswählen
;Beispielcode fuer unendliches spielen einer audiodatei
If InitMovie()
If OpenWindow(0,100,100,100,100,#PB_Window_SystemMenu,"loop music files")
movie$=OpenFileRequester("","","Musicfile | *.mid;*.midi;*.mp3;;*.ogg;*.wma",0)
;movie laden
LoadMovie(0,movie$)
;movie abspielen
PlayMovie(0,WindowID())
Repeat
;falls "das movie" gestoppt ist (bzw. auch wenn es vorbei ist vorbei ist)...
If MovieStatus()=0
;"das movie" wieder aspielen
PlayMovie(0,WindowID())
EndIf
Delay(20)
Until WindowEvent()=#PB_Event_CloseWindow
EndIf
Else
MessageRequester("Error","InitMovie()")
EndIf
Hm, stimmt is mir garnicht so aufgefallen, liegt aber vielleicht auch daran das ich nur ein Movie bei dem Spiel geladen hab ^^Lars hat geschrieben:Deeem![]()
UseMovie() und Thread in Kombination sind BÖÖÖÖSE!
Da sollte man wenigstens drauf hinweisen!
Meinst du man sollte anstattLars hat geschrieben:Die ganze UseXXXX() Sache ist Müll, nur um das mal zu bemerken
Code: Alles auswählen
UseWindow()
Code: Alles auswählen
WindowID=OpenWindow(...)
...
Weil esptI hat geschrieben:Warum ist das mit UseXXXX() denn Müll?
Nein, das meinte ich nicht. Ich bezog mich damit auf die Befehle, die einptI hat geschrieben:Meinst du man sollte anstatt [c]UseWindow() WindowID=OpenWindow()[/c] benutzen?