----------------------------------------------------------
操作方法:
1.按下空白按鍵開始遊戲
2.將"右手"放入LeapMotion感應範圍內
3.偵測到以上兩點成立後開始遊戲讀秒並顯示玩家
4.用右手移動來閃躲隨機出現的亂數Pipe避免擊殺
5.隨著時間秒數難度會增高
6.被擊殺後顯示秒數分數
7.按下空白鍵重新開始遊戲
----------------------------------------------------------
簡略的過程構思:
首先設定好
1.背景: 設定好背景圖 並用邊界重疊方式將一張背景左右拉長
2.中景: Bird玩家主體
3.前景: Pipe柱體位置
再來做出功能並給予限制
Bird主體
1.偵測感應到"玩家手"時顯示Bird主體
2.隨著玩家"手"移動方向Bird需改變方向
3.限制只能有"一位玩家右手"在其中
4.讓Bird限制在軌道上移動
Pipe柱體
1.測量並設定畫面Pipe大小和數量
2.設定Pipe上下夾擊細節座標位置
3.利用switch case配合亂數函數讓Pipe隨機落下
碰撞偵測
1.對於軌道上的Bird和Pipe落下時的座標位置進行測量
2.找到每個Pipe和Bird洽當的碰狀座標
3.將各個座標寫入碰撞偵測判斷
4.並秀出擊殺效果png圖
時間的設定
1.設定好在遊戲開始時讓時間流動
2.並且將Pipe夾合速度配合時間的增長進行加速來提高遊戲難度
3.在遊戲結束時結算時間秒數當作分數
4.在遊戲重新開始時將時間(分數)重置
設定多個過渡畫面
1.遊戲開始
2.遊戲中暫停(偵測不到右手時)
3.被擊殺當下停頓1200毫秒
4.遊戲結束(分數統計)
最後
回頭去做
音效設定
1.遊戲開始音效
2.柱體夾擊音效
3.擊殺音效
4.遊戲結束音效
5.重新開始音效
----------------------------------------------------------
簡略心得:
想好大略架構後,寫起來挺順利的,
找尋圖檔和音效素材花了一些時間,
撰寫的過程中最令人煩頭痛的大概就屬參數微調了,
尤其是碰撞偵測必須調整的相當細微,
這樣遊戲才不會有爭議性,
這大概也是花最多時間的地方了。
課堂Demo時開錯檔案位置,
導致沒有音效聲音有點可惜 ,
本來以為分數會很低,
沒想到同學們很給力,
佛心來著都給予了不錯的分數,
這堂課自由度高,
覺得今年大家的作品都充滿著創意。
沒有留言:
張貼留言