暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

利用VBA制作一个转盘游戏之四:转盘游戏代码实现之音效实现

VBA语言専攻 2023-06-28
221
《VBA高级应用30例》(10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。本套教程共三册三十个专题,今日内容是第5   个专题“利用VBA制作一个转盘游戏”,今日讲解:利用VBA制作一个转盘游戏之四:转盘游戏代码实现之音效实现          
           

应用利用VBA制作一个转盘游戏  

在实际工作中,我们发现Excel是一个非常严肃和强大的应用程序,但这并不意味着我们不能从中得到乐趣。在本文中,我将给大家讲解如何构建一个Excel文件,使您能够玩幸运轮,同时我们会辅助声音和一些必要游戏基础设施构建!

转盘游戏代码实现之音效实现  

为了实现音效,我们看下面的代码:
#If VBA7 Then
    Private Declare PtrSafe Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
            (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#Else
    Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
            (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If
         
'Sound constants
Private Const SND_SYNC = &H0
Private Const SND_ASYNC = &H1
Private Const SND_NODEFAULT = &H2
Private Const SND_LOOP = &H8
Private Const SND_NOSTOP = &H10
         
Sub PlayBackLoop()
    If Len(Dir(ThisWorkbook.Path & "\WheelOfFortune.wav")) > 0 Then
        WAVLoop ThisWorkbook.Path & "\WheelOfFortune.wav"
    End If
End Sub
         
Sub PlayBackStop()
    Call WAVPlay(vbNullString)
End Sub
         
Sub WAVLoop(File As String)
    Dim SoundName As String
    Dim wFlags As Long
    Dim x As Long
   
    SoundName = File
    wFlags = SND_ASYNC Or SND_LOOP
    x = sndPlaySound(SoundName, wFlags)
    If x = 0 Then MsgBox "Can't play the audio file. ", vbCritical, "Error"
         
End Sub
         
Sub WAVPlay(File As String)
    Dim SoundName As String
    Dim wFlags As Long
    Dim x As Long
   
    SoundName = File
    wFlags = SND_ASYNC Or SND_NODEFAULT
    x = sndPlaySound(SoundName, wFlags)
    If x = 0 Then MsgBox "Can't play the audio file. ", vbCritical, "Error"
         
End Sub
         
代码截图:
代码的讲解:以上代码实现的是音效的播放和停止,利用的是一个API函数。由于API函数功能强大,但不是VBA范畴,我只是调用,不再过多讲解,如果大家有兴趣,我会送给大家一份相当全的API函数资料。
         
         
         
         
 分享成果,随喜正能量】 真诚是很珍贵的东西。即使不善言辞,偶尔有些笨,有些迟钝,也没关系。日久见人心,真诚会在时间中闪闪发光。希望你努力做一个真实的人,而不是别人眼中正确的人。时光端午 ,祝福夏安。。
         
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
         
         
         
         
         
         

文章转载自VBA语言専攻,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论