一、項目設計(1.0版)
制作一個飛翔的小鳥游戲,玩家控制一只胖乎乎的小鳥,跨越由各種不同長度水管所組成的障礙,每跨過一個障礙得分,如果 碰到水管或掉落地面,則游戲失敗。
二、設計與制作(1.0版) 下載飛翔的小鳥素材
1、實現功能:
(1)第一個屏幕screen1作為啟動屏幕,實現點擊屏幕開始進入游戲。
游戲主要在第二屏幕FlappyBird實現。
(2)小鳥扇動翅膀,以一定的加速度做自由落體運動。用戶點擊屏幕后,小鳥將獲得一個向上的恆定速度。小鳥在上升下墜過程中,需要模擬抬頭和低頭動作。
(3)屏幕上隨機出現上下水管組合,並以恆定速度向左移動,模擬小鳥向前飛行效果;
上下水管的Y坐標和間距隨機每次隨機變化。小鳥跨過水管則得1分(即是水管移動到左邊得1分)。
(4)如果小鳥觸碰到水管或掉落觸碰到地面,則游戲結束,顯示得分。
2、組件界面設計
(1)screen1屏幕
本屏幕為啟動畫面,點擊擊之后打開FlappyBird屏幕。
(2)增加FlappyBird屏幕
添加組件:畫布1、圖像精靈6個、計時器1、對話框1
部分組件屬性(參考設置):
其中屏幕FlappyBird標題用“飛翔的小鳥v1.0”+“姓名” ;4個水管分別設置圖片、取消可見性。
3、邏輯設計(編程)
(1)創建變量:
變量【圖片序號】為小鳥幾張圖片的變化次序; 變量【小鳥Y1】為小鳥Y坐標的變化量;
變量【小鳥角度】為小鳥上升抬頭角度值;變量【水管1X】【水管2X】分別為2組水管的X坐標值;
變量【水管1激活】真【水管2激活】假 分別為2組水管 是否要出現在畫面移動的判斷值。
(2)創建“開始游戲”過程,進行游戲參數初始化,小鳥的X,Y坐標、方向,地面的Y坐標。
(3)創建“小鳥扇動翅膀”過程,主要實現小鳥精靈的動畫效果(扇動翅膀),結合計時器實現循環執行。(可選)
(4)使用計時器調用“小鳥扇動翅膀”過程,實現動畫效果。調用“小鳥移動”過程在第(5)步完成后添加。
(5)創建“小鳥移動”過程,結合計時器,每隔一段時間,小鳥改變Y坐標實現移動,並調整方向(低頭)。
(6)畫布被觸碰 代碼。點擊畫布,使小鳥抬頭上升,並發出翅膀扇動聲音。
↑ 以上功能,通過計時器調用“小鳥移動”過程實現,小鳥以一定的加速度做自由落體運動,每點擊一次畫布則小鳥做抬頭上升,不點擊則開始緩慢低頭下墜。
----先連接AI伴侶進行測試,能否實現這部分功能。
↓ 接下來要實現2組水管交替移動,模擬前進的動態效果。
(7)創建“水管1移動”過程,“水管2移動”過程。這兩部分類似,可先做好一個,再復制修改。
修改“開始游戲”的過程,添加設置【水管1X、水管2X】的初始值為畫布寬度。(水管x坐標為畫布的最右邊)
(8)修改計時器的執行代碼,實現每隔100毫秒,調用“水管1移動”過程、“水管2移動”過程,實現2組水管向左交替移動, 模擬小鳥向右運動的視覺效果。
===先連接AI伴侶進行測試,能否實現2組水管交替移動,模擬前進的動態效果。
(9)創建“隨機水管Y坐標”過程。帶2個參數“上水管”、“下水管”。
這部分程序設計思路的圖例說明(下圖):
(10)修改“水管1移動”過程,“水管2移動”過程。
帶參數調用第(9)步的隨機水管Y坐標”過程,分別添加到“水管1移動”過程,“水管2移動”過程。
提示:如果一開始水管1組沒有隨機生成上下間距,嘗試修改“開始游戲”過程,調用“隨機水管Y坐標”過程
思考1:此處可能出現bug,水管激活出現時會有位置高度閃動變化的情況,有何解決辦法?如何實現?
(11)當小鳥被碰撞 時的代碼。即是小鳥碰到水管或地面(精靈),則游戲結束,停止計時器,播放失敗聲音並顯示得分。
(12)對話框 選擇判斷。根據游戲結束 提示對話框的選擇,執行相應代碼。
-------到此, 飛翔小鳥1.0簡化版 基本完成,請用AI伴侶進行連接測試。