[MBOT+ AI2] app範例--青蛙吃蟲遊戲 #9

URL Link //n.sfs.tw/12930

2018-11-26 13:56:16 By Axer

MBOT整合MIT APP INVENTOR2 在平板開發app的一系列教材

這範例是比較複雜的程式,我盡量讓程式簡單,因此拿掉了特效及其他變化。

畫面中有一隻青蛙,會有蚊子和蒼蠅飛出來,蚊子是水平的飛出來,速度較慢,而蒼蠅則不固定,會往任意方向飛行,同時速度較快。吃到蚊子得1分,蒼蠅得2分。

每關限時20秒,達到過關標準就過關,同時過關門檻會增加。

  

學習重點

 

計時器、圖像精靈、音效、邏輯和數學

 

步驟

一、置入1個畫布+2個圖像精靈、1個按鈕、3個標籤、1 個水平配置、一個垂直配置、3個計時器和2 個音效。

圖像精靈上傳一個角色畫面,音效可到這裡下載 http://taira-komori.jpn.org/freesound.html

二、繪製角色2個和背景,這裡面的角色是用Windows10內建的小畫家3D繪製,這個軟體的功能還不錯,角色可存成透明背景;背景不必存成透明背景。

角色尺寸 30x30 設為角色1、角色2的圖片

背景尺寸 320x480 設為Screen1的背景圖片

音效1和音效2分別載入吃蚊子和蒼蠅的音效

 

三、計時器的屬性

計時器1 圖像精靈移動使用,設定1000ms,表示每1000ms會進行一次動作的變化,不要變化太快可把時間調長

計時器2 作為遊戲的時間倒數使用

計時器3 讓青蛙的舌頭收回來,時間為150ms

 

四、畫布屬性

長寬設為320x320,背景顏色設為透明,字體設為32顯示遊戲文字使用

 

五、設定三個全域變數及按鈕被點選動作

這三個全域變數分別是關卡、分數和遊戲時間

當「重新開始」按鈕點擊後,進行畫面和參數的初始化,設定計時器1,2 開始計時。並呼叫換關程序。

此時計時器1和2開始啟動,1000ms秒後開始觸發他們的事件。

 

六、換關程序和顯示分數

換關程序開始會把關卡+1,並重設遊戲時間為20,顯示分數程序會把下方標籤的文字改過。

分數顯示 '/' 後面為過關條件。過關條件的計算方法為:

過關條件= 關卡2

 

七、計時器1計時事件

圖像精靈1是蚊子,會水平飛出,速度5-20之間變化

圖像精靈2是蒼蠅,會任意方向飛出,速度20-30之間變化,在製作角色時,頭要朝向右側才不會有倒飛的情況。

 

八、精靈被點擊事件

加上分數,並發出音效

 

九、碰觸邊界的處理

到達邊界後,到新的位置

 

十、計時器2計時事件

判斷如果時間還有(>0),則時間-1。

否則判斷是否達到過關條件

過關條件上面有說,當關數增加時,越來越困難,因此玩家一定會死,設計者可設計加分角色或加時角色增加可玩性,此範例為簡化故省略。

如果未達過關條件,則呼叫結束程序。

 

十一、結束程序

停止所有計時、隱藏精靈並在畫布中寫上「遊戲結束」文字。

 

十二、點擊畫布

玩家點擊畫面代表要吃蚊子,此時繪製舌頭

計時器3啟動,並且在150ms把畫布清空

所有程式

 

檔案下載

app04_simple_aia.zip