musik immer wieder abspielen
musik immer wieder abspielen
Hallo,
kann mir jemand erklären, wie ich die PlayMovie() mehrmals hintereinander abspielen kann?
also wenn das Lied fertig ist, dass es dann neu anfängt?
Ich brauche nämlich eine Hintergrundmusik zu meinem Spiel und das ist doof, wenn die plötzlich aus ist.
kann mir jemand erklären, wie ich die PlayMovie() mehrmals hintereinander abspielen kann?
also wenn das Lied fertig ist, dass es dann neu anfängt?
Ich brauche nämlich eine Hintergrundmusik zu meinem Spiel und das ist doof, wenn die plötzlich aus ist.
Das Ende meines Lebens:
If leben = 0
End
Endif
If leben = 0
End
Endif
Starte es erneut, wen MovieStatus()=0.
Das funktioniert aber nicht immer, sicher ist
Das funktioniert aber nicht immer, sicher ist
Code: Alles auswählen
If MovieStatus()=OldState
PlayMovie(#Mivie,WindowID)
endif
OldState=MovieStatus()
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Ich hab son ähnliches Problem, allerdings will ich dann noch mit NextSelectedFileName() arbeiten. Hier mal mein Codeschnipsel:
Ich arbeite mit MultiToggle beim OpenFileRequester() und er spielt nur das eine Movie und hört dann auf.
Code: Alles auswählen
Case #ButtonImage_0
PlayMovie(0,#Window_0)
If MovieStatus()=Oldstate
file$=NextSelectedFileName()
PlayMovie(0,#Window_0)
EndIf
Muss ich die bei jedem NextSelectedFileName neu laden?
Mein Code sihet jetzt so aus, geht aber auch nich:
Mein Code sihet jetzt so aus, geht aber auch nich:
Code: Alles auswählen
Case #ButtonImage_0
If MovieStatus()=-1
ResumeMovie()
Else
LoadMovie(0,file$)
PlayMovie(0,#Window_0)
EndIf
If MovieStatus()=0
file$=NextSelectedFileName()
LoadMovie(0,file$)
PlayMovie(0,#Window_0)
EndIf
Hab noch nen Vorschlag:
Damit musst du nich mal mehr in der Schleife abfragen, ob die Musik fertig ist:
Damit musst du nich mal mehr in der Schleife abfragen, ob die Musik fertig ist:
Code: Alles auswählen
Dim MovieLoaded.b(10) ; Eigentlich 11 Plätze, aber egal...
Global MovieLoaded
Procedure CheckMusic()
Repeat
Delay(1000)
For number = 0 To 10
If MovieLoaded(number)
UseMovie(number)
If MovieStatus() = 0
PlayMovie(number,ScreenID())
EndIf
EndIf
Next
ForEver
EndProcedure
MuzID = CreateThread(@CheckMusic(),0)
ThreadPriority(MuzID,5)
Procedure SetBackgroundMusic(number,file.s)
; Darf erst aufgerufen werden, WENN ein Screen OFFEN ist!!!
If file ; Laden...
MovieLoaded(number) = 0
LoadMovie(number,"SND\Music\"+file.s+".mp3")
PlayMovie(number,ScreenID())
MovieLoaded(number) = 1
Else ; Freigeben...
MovieLoaded(number) = 0
FreeMovie(number)
EndIf
EndProcedure