[好,所以我几乎使用Visual Studio 2010完善了一个名为lucky 7的游戏。我想在赢得游戏时播放声音(在三个插槽之一中获得7)。这是代码:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
For i = 0 To 2
slots(i) = rand.Next(10)
Next
Label1.Text = (slots(0).ToString)
Label2.Text = (slots(1).ToString)
Label3.Text = (slots(2).ToString)
If slots(0) = 7 Or slots(1) = 7 Or slots(2) = 7 Then
score = score + 100 'REM 10 points for each win
Label4.Text = (score.ToString)
PictureBox1.Visible = True 'REM If you have a PictureBox
PlaySound "C:\WINDOWS\MEDIA\TADA.WAV",
Else
PictureBox1.Visible = False
End If
If score = 500 Then
MsgBox("You Scored 500 Points!", vbInformation)
End If
End Sub
事实是,我在'playsound'语句中遇到错误,我真的想在玩家赢得比赛时播放该声音!
我还尝试创建一个重置按钮,该按钮将乐谱和所有三个插槽都设置为0,但是当我单击它时,什么也没有发生。这是重置按钮的代码:
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
score = 0
PictureBox1.Visible = False
End Sub
尝试使用My.Computer.Audio.Play
您是否遍历了代码以确保按钮单击事件没有任何反应?单击“分数= 0”行的最左侧将设置一个断点。运行代码时,它将暂停代码。您可以将鼠标悬停在变量得分上,它将显示它的价值。按[F8]将执行它,您可以将鼠标悬停在它上面并查看它是否已更改。
从您的重置按钮事件开始,您的得分将重置为0,但文本不会重置。您的3个广告位的文本也保持不变。
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Label1.Text = "0"
Label2.Text = "0"
Label3.Text = "0"
Label4.Text = "0"
score = 0
PictureBox1.Visible = False
End Sub
正如有人提到的那样,声音文件可能不会出现在每台计算机上。您应该研究使用系统蜂鸣声,可以对其进行修改以产生一些奇怪的提示音。我玩得很开心...
关于您的重置按钮...,您尚未编码要重置的标签文本。我猜您只需要视觉上的改变,因为当您再次播放时,这些值仍然会改变。但是,作为一个重置按钮,我想您可能希望将每个标签文本重置为string.empty或其他内容。
您应该尝试播放.wav声音文件:
My.Computer.Audio.Play("C:\WINDOWS\MEDIA\TADA.WAV",AudioPlayMode.Background)