2018年3月4日 星期日

MIT App Inventor 2 乒乓球遊戲

筆者用過ScratchJava設計過乒乓球遊戲後,此次要用MIT App Inventor 2來開發囉。首先可從App Inventor Starter Apps下載此次用到的素材:PongStarter.aia

準備專案素材


在AI2中匯入此檔案:

選擇PongStarter.aia檔案


此時會看到下圖,如果沒有看到平台的話,請將平台的Y軸設定低一點的值。

程式設計
一、讓球移動
固定方向直線往下移動


不固定方向往下移動
這邊使用亂數(random integer from....)積木來決定球要往下移動的方向。

使球反彈
碰到螢幕邊緣反彈

碰到平台反彈


二、移動平台
水平移動平台


三、計算得分
使用一個副程式(Procedure):changeAndShowScore與一個變數(Variable):Score

並在球碰到平台、開始按鈕按下、重置按鈕按下,此三種事件發生時改變分數。

四、遊戲結束

五、改變背景與增加音效
在UI設計中新增一個Sound元件的積木

使用一個副程式(Procedure):playSound來播放音效

並在球碰到邊緣或平台時,播放音效

六、音效播放控制
此部分要讓使用者可以選擇是否要有音效,使用一個CheckBox來控制,並將命名為SoundOnChkBox。


接著把playSound副程式修改

影片:


參考資料:
http://www.appinventor.org/content/ai2apps/intermediateApps/pong