How to change music on different backgrounds
Monkey Forums/Monkey Beginners/How to change music on different backgrounds
| ||
I was wondering get different background music on different backgrounds with the code I wrote below? I think I wrote the code below incorrectly
Strict
Import mojo
Class MyApp Extends App
Field BackGround1: Bool = True
Field BackGround2: Bool = False
Method OnCreate:Int()
SetUpdateRate(60)
Return True
End
Method OnUpdate:Int()
If BackGround1 Then
PlayMusic("In_Game_Rock.wav")
If KeyDown(KEY_ENTER) Then
BackGround1= False
BackGround2 = True
End
End
If BackGround2 Then
PlayMusic("DrumCorpsVideoMusic.wav")
End
Return True
End
Method OnRender:Int()
Cls(80.80,80)
Return True
End
End
Function Main:Int()
New MyApp()
Return True
End
|
| ||
| What actually happens? It looks okay... apart from your Cls... it has a period instead of a comma. Maybe try StopMusic() in your KeyDown If statement. |
| ||
If BackGround2 Then
PlayMusic("DrumCorpsVideoMusic.wav")
EndTo me, it seems like it's trying to start playing a music track every single frame, so 60 times a second in the above. If I were you I would have a method that changes the music based on a value.
Field currentTrack:Int
Method ChangeMusic:Void(newTrack:Int)
currentTrack = newTrack
Select newTrack
Case 0:
PlayMusic("In_Game_Rock.wav")
Case 1:
PlayMusic("DrumCorpsVideoMusic.wav")
Default:
Error "ChangeMusic() tried to play an invalid track : " + newTrack
End
End
Method OnUpdate:Int()
If KeyHit(KEY_ENTER)
If currentTrack = 0
ChangeMusic(1)
ElseIf currentTrack = 1
ChangeMusic(0)
End
End
Return 0
End
|
| ||
What you need to do is check MusicState() 0/1 which checks the Music Channel, then do something like.If MusicState()=0 then PlayMusic() Just be sure that when you do a track change that you StopMusic() the current track. |
| ||
| I'd probably have something like: |
| ||
| Thanks for the help. I got the methods that you all mentioned to work. Other than the music, I almost have a game up and running (after just a week of learning Monkey X). Thanks again. |
| ||
| happy to be of some help, cant wait to see what your working on :) |