switch敘述式

switch敘述式的用途是可以針對同一個變數而有多個可能的結果來加以判斷,switch可以做到與if…else if…else 敘述式類似的功能,但是相同的程式用switch敘述式來撰寫將會更容易閱讀。而且如果在判斷時有多種結果都希望能夠執行相同的程式碼區塊,那麼switch 敘述式的特性會讓這個工作變的非常的簡單。switch 敘述式在執行時會判斷括弧「( )」裡面的資料,然後尋找符合的 case 區塊,如果有case的資料符合的話,就會執行該區塊中的敘述式,直到 break或switch敘述式結束為止。如果所有條件都不符合,則會跳到default的區塊中執行程式,當然使用者可以不定義default,這樣的話如果沒有符合的條件將不會執行任何程式碼。其語法如下圖:

 

switch整合範例

程式目的

透過文字輸入框以及按鈕寫一個點餐系統,程式會根據使用者所輸入的餐點編號進行判斷,並根據餐點編號顯示餐點名稱及價錢,例如如果輸入餐點編號1,則程式經過判斷後會顯示餐點名稱牛排以及售價280元,而如果輸入了超出範圍的編號,則會顯示輸入錯誤請重新選擇。

程式執行效果

如下圖,諸位讀者可以開啟光碟中的10.exe,實際操作體驗執行效果。

製作場景

這個案例中,我們直接採用前述案例的場景,將場景稍作修改即可開始撰寫ActionScript。

撰寫程式

請執行『視窗>動作』,開啟『動作面板』,在動作面板中寫程式,完整程式碼如下:

語法解說

在目前的程式中我們是希望能夠在使用者按下按鈕後,根據輸入的餐點編號進行判斷,再將結果顯示在動態文字框中,所以程式還是寫在按鈕上,在完整程式第1行程式,我們透過【pay_btn】也就是按鈕元件的實體名稱來增加【MouseEvent.CLICK】(滑鼠左鍵點擊事件)的事件處理程序,程式碼如下:

接著要設計【payFunction】處理程序所要進行的程式。首先要宣告函數,宣告的語法如下:

宣告好函數後就要開始設計事件處理程式的內容了。首先在第4行程式碼中,將使用者輸入在文字框的資料,透過【int( )】函數轉型為整數型態儲存在【meals】整數變數中,供後續程式使用,接著在第5行程式中使用switch與法來判斷資料,在switch的括弧中放入meals變數,目的是判斷變數的內容,如果meals變數為1則執行第8行程式,將【牛排 200元】字串顯示在【msg_txt.text】動態文字框中,如果不是,則繼續往下判斷其他的數字,如果超過1到4的範圍則會執行default的區塊,執行第16行的程式,將【輸入錯誤請重新選擇】字串顯示在【msg_txt.text】動態文字框,以上就是程式的解說,程式寫好了趕快來試試看吧。