⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 music.bas

📁 超级C&C有没有搞错,VB还能编出这种即时策略游戏来!没错,这就是我们的超级C&C!虽然游戏经常无故退出,但是原码仍有很多可圈可点的地方.祝你早日编出中国的超级RA,超级KKND,超级星际,超级家园
💻 BAS
字号:
Attribute VB_Name = "Music"
Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Public Const MaxMusicFiles = 100
Public MusicOn As Boolean
Const NOMUSICFILE = ""
Private Type musfiles
  Filename As String
  TrackTitle As String
End Type
Private Type Mus
  MusicFiles(MaxMusicFiles) As musfiles
  MaxMusicFiles As Integer
  CurrentFile  As String
End Type
Public MusicData As Mus
Private Const MMCONTROLMODE_STOPPED = 525
Public Sub InitializeMusic()
Call LoadMusicData
End Sub
Public Sub LoadMusicData()
Call FileFunctions.OpenGameFile(File_MusicDefinitions, 1)
Do
  Line Input #1, a$
  If a$ = FILETAG_ENDFILE Then Exit Do
  If a$ = "[MUSICDEF]" Then
    musicfilenum = musicfilenum + 1
    Line Input #1, a$
    propvalue$ = MiscFunctions.GetPropertyValue(a$)
    MusicData.MusicFiles(musicfilenum).TrackTitle = propvalue$
    Line Input #1, a$
    propvalue$ = MiscFunctions.GetPropertyValue(a$)
    MusicData.MusicFiles(musicfilenum).Filename = Directory_Music & propvalue$
  End If
Loop
Close #1
MusicData.MaxMusicFiles = musicfilenum
End Sub
Public Sub PlayMusicFile(Filename$)
nothin = mciExecute("Play " & App.Path & "\" & Filename$)
Music.MusicData.CurrentFile = Filename$
End Sub
Public Sub StopMusic()
If MusicData.CurrentFile <> NOMUSICFILE Then nothin = mciExecute("Stop " & App.Path & "\" & Music.MusicData.CurrentFile)
MusicData.CurrentFile = NOMUSICFILE
End Sub
Public Sub KeepMusicPlaying()
If MusicData.CurrentFile <> NOMUSICFILE Then nothin = mciExecute("Play " & App.Path & "\" & MusicData.CurrentFile)
End Sub
Public Sub PlayTrackByIndex(TrackNum)
If Music.MusicOn = True Then Call PlayMusicFile(MusicData.MusicFiles(TrackNum).Filename)
End Sub
Public Sub PlayTrackByName(TrackName$)
If Music.MusicOn = True Then
  For I = 1 To MusicData.MaxMusicFiles
    If MusicData.MusicFiles(I).TrackTitle = TrackName$ Then
      Call PlayMusicFile(MusicData.MusicFiles(I).Filename)
      Exit For
    End If
  Next I
End If
End Sub
Public Sub CloseMusicDevice()
If MusicData.CurrentFile <> NOMUSICFILE Then nothin = mciExecute("Stop " & Music.MusicData.CurrentFile)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -