步驟 6:加入 SoundPlayer
接下來,將您的迷宮遊戲加上一些音效。 當使用者碰觸到圍牆並回到起點時應該播放一種音效,當使用者過關時應該播放另一種音效。 在這個步驟中,您要加入當滑鼠指標碰觸到圍牆時所播放的音效。 雖然看似複雜,但實際只需要幾行程式碼而已。
本主題的影像版本,請參閱教學課程 2: Visual Basic-視訊 4 中建立,當然 或 教學課程 2: 建立,當然在 C#-視訊 4。
若要加入發出音效的 SoundPlayer
從將 SoundPlayer 加入至表單的程式碼開始,且要緊鄰著建構函式上方。
Public Class Form1 ' This SoundPlayer plays a sound whenever the player hits a wall. Private startSoundPlayer = New System.Media.SoundPlayer("C:\Windows\Media\chord.wav") Public Sub New() ' This call is required by Windows Forms Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. MoveToStart() End Sub
public partial class Form1 : Form { // This SoundPlayer plays a sound whenever the player hits a wall. System.Media.SoundPlayer startSoundPlayer = new System.Media.SoundPlayer(@"C:\Windows\Media\chord.wav"); public Form1() { InitializeComponent(); MoveToStart(); }
注意事項 第一行 (public partial class Form1 : Form) 在先前已出現過許多次。它很重要,因為它包含 class 關鍵字。class 關鍵字會出現許多次,因為 class 是任何程式的基本建置組塊。
稍早,您將滑鼠指標移至陳述式 MessageBox.Show("Congratulations!"); 中的 MessageBox 這個字上,使得 IDE 開啟工具提示。 現在再做一次這個動作,但仔細查看第一行,如下所示。
Tooltip
注意事項 class 關鍵字出現在第一行。它會經常出現,因為程式碼是以類別來組織,如下所示:程式具有類別、每個類別具有方法、每個方法具有陳述式。有許多內建的類別,例如 MessageBox。MessageBox 類別具有一個稱為 Show() 的方法,呼叫此方法時,它會執行陳述式來開啟訊息方塊。您也已使用過 Button、Label 和 Panel 類別。當您設定它們的屬性時,您是以另一種觀點來使用類別:類別可以具有屬性和方法,而設定這些屬性可讓類別執行陳述式來變更行為。
您可以看出,SoundPlayer 是播放音效的類別。 當您使用 new 關鍵字建立 SoundPlayer 時,它會從檔案載入音效,而您可以使用 Play() 方法來播放此音效。 當玩家啟動新的遊戲,或當指標碰觸到圍牆造成玩家必須重新開始時,您將會使用此 SoundPlayer 來播放 Windows 弦樂音效 (所以才稱為 startSoundPlayer)。
如果您想要使用不同的音效,請在新陳述式中將引號之間的路徑 (C:\Windows\Media\chord.wav) 改為您要使用的音效檔的路徑。
當您在 [Windows Form 設計工具] 中建置表單時,您可以利用 IDE 來協助您建立自己的類別,在這個案例中是一個稱為 Form1 的類別。 當您在建構函式上方加入那一行程式碼時,即已將新的 SoundPlayer 加入至表單,就像您先前加入按鈕或標籤一樣。 因為陳述式位於方法的外面,所以 SoundPlayer 可供多個方法存取。 這就是為何必須將新的陳述式放在表單程式碼內且在方法外的原因。 您將它重新命名為 startSoundPlayer,就像您將其中一個 Label 控制項命名為 finishLabel 一樣。
加入陳述式來建立新的 SoundPlayer 並命名為 startSoundPlayer 之後,它就會出現在 [IntelliSense] 視窗中,就像標籤、按鈕和其他控制項一樣。
這看似複雜,但很類似您先前在 IDE 中的做法。 例如,當您使用 IDE 的 [工具箱] 將按鈕或標籤加入至表單時,IDE 會自動加入用來建立新按鈕或新標籤的程式碼行。 現在也是相同的做法,只是這一次是建立 SoundPlayer (在下一個教學課程步驟中會建立第二個 SoundPlayer)。
若要繼續或檢視
若要移到下一個教學課程步驟,請參閱步驟 7:將程式碼加入至您的表單以播放音效。
若要回到上一個教學課程步驟,請參閱步驟 5:為每個背景牆加入 MouseEnter 事件處理常式。