龙空技术网

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

VBA语言専攻 147

前言:

而今同学们对“用vb做简单小游戏代码”都比较珍视,我们都需要了解一些“用vb做简单小游戏代码”的相关资讯。那么小编也在网摘上网罗了一些对于“用vb做简单小游戏代码””的相关知识,希望看官们能喜欢,咱们快快来了解一下吧!

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

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

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

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

为了实现音效,我们看下面的代码:

#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实践经验,全部浓缩在下面的各个教程中:

标签: #用vb做简单小游戏代码