(圖/Dinosaur Game)
每兩個禮拜更新一次恐龍紀錄好像已經變成常態了XD,雖然我很想一直做下去,但有些事情的優先級就是比小恐龍遊戲來的高,這也無可奈何。
總之呢,與前幾次更新的日誌不太一樣,今天終於有比較長的時間可以好好坐下來寫CODE了,花了四小時左右把整個遊戲結構完整了。
飛行敵人需要蹲下閃躲;地面敵人需要跳躍迴避。
首先是基礎的敵人種類,初始小恐龍遊戲有兩種敵人,所以這邊也要復刻的像一點,遊戲目前也有一種飛行敵人與一種地面敵人,分別是「仙人掌」與「蜜蜂」,遇到蜜蜂需要蹲下;遇到仙人掌跳躍。
雖然呈現蹲下、跳躍、行走的動畫非常容易,以前做下樓梯的時候也已經應用過了,但是「動畫的呈現」與「碰撞(Collider)」卻又是截然不同的兩種狀態。
雖然更改圖片可以看起來像蹲下,但其實碰撞判定的範圍仍然不變。
要解決這個問題其實也很簡單,需要先記錄正常狀態Collider 的 Offset 與 Size ,再紀錄蹲下狀態的 Offset 與 Size ,當按下按鍵時切換成蹲下狀態的碰撞範圍、放開按鍵時把原本的資料放回去就可以了。
到目前為止,基本上原本小恐龍遊戲的模型就已經完成了,接下來就是加油添醋時間。
免費素材包裡面還附贈各式顏色的角色,以及多種顏色敵人。所以我想將這些素材物盡其用,讓這些顏色完成更多玩法。所以我先做個未來假設:如果能讓角色能攻擊,讓不同顏色的攻擊對應相對顏色的敵人,可以破壞並獲得分數呢?
反正目標都是做到顏色切換的更多玩法為前提,那勢必要先開始製作角色顏色切換,但其實做起來也不困難,只要按鍵切換動畫,再讓數值紀錄目前是哪種顏色就行了。
生命之樹ㄏㄏㄏㄏ。
目前就先做到這樣,總結一下。
基礎功能:
1. (OK)畫面無限向右延伸
2. (OK)生成敵人
3. (OK)角色移動
4. (OK)標題與遊戲場景切換
最基礎的功能已經全部完成了,那接下來又是新的工作清單了。
進階發想:
1. (OK)角色顏色切換
2. (NO)更多種類敵人
3. (NO)顏色攻擊對應顏色敵人
4. (NO)更多延伸?
5. (NO)視差背景與物件
6. (NO)分數系統
7. (NO)血量顯示
那大概就先這樣,我們下兩個禮拜後再見?
◆ 學習記錄?仿製!Google恐龍遊戲:敵人與狀態機-Day 3