這個遊戲是橫向捲軸動作遊戲,但是融入許多 3D 元素,當遊戲角色走到路口時,背景將會轉動 90 度,讓玩家體驗到不同的 3D 空間感。 建立一個新的遊戲專案,不需要匯入任何資源包,並且設定為 2D 遊戲類型。 開啟 Asset Store 資源商店,搜尋並下載 Unity Projects: 2D Platformer 專案,匯入目前的遊戲專案。 實際上只需使用此專案的腳本與音效,其餘檔案可以不用匯入。 遊戲採用 2D Sprite 方式製作遊戲角色,從 Asset Store 資源商店找到 2D Archers Sprites 免費資源,暫時先使用這個角色替代。 2D Archers Sprites 是一個弓箭手的角色,內含 3 種不同造型與 8 個動作(閒置*2、跑步、跳躍、攻擊*2、受傷、死亡)。 按下 Import 按鈕匯入,檔案將會放在遊戲專案的 SpritesArchers 資料夾,我們主要使用 Archer3 的圖片。
製作遊戲的主角 點選功能表 [ GameObject > Create Other > Sprite ] 建立 2D Sprite 圖片精靈,重新命名為「Player」。 Sprite Renderer 元件的 Sprite 選擇 FantasyArcher_03_idle_0125 (閒置動作)做為主角的預設圖片。 點選功能表 [ Component > Physics 2D > Rigidbody 2D ] 為主角加上 2D 剛體元件,遊戲中主角應該受到重力的影響。 勾選「Fixed Angle」設為固定角度,否則角色在移動時經常會發生摔倒而站不起來的情形。 點選功能表 [ Component > Physics 2D > Circle Collider 2D ] 為主角加上 2D 碰撞體,這是為了讓主角可以站在地面上。 從 Inspector 屬性編輯器可以看到新增的 Circle Collider 2D 碰撞體,不過大小需要調整… 修改後的Circle Collider 2D 碰撞體。 建立一個方塊來製作道路,為了讓玩家可以在上面走動,需要調整到適當的寬度,並且將原本的 Box Collider 方塊碰撞體移除,因為稍後會附加 Collider 2D 碰撞體,如果同時使用 2D 與 3D 碰撞體,將會出現錯誤的訊息★。
維持方塊為選取的狀態,點選功能表 [ Component > Physics 2D > Circle Collider 2D ] 為主角加上 2D 碰撞體,按下 Play 按鈕測試主角是否可以站在地面上。並且調整碰撞體的大小與位置,寬度與雙腳的距離同寬。 將腳本 [ Scripts > PlayerControl ] 指定給 Player 物件,這個腳本的主要功能是控制 2D 角色的移動與轉向,當玩家水平方向移動搖桿時,遊戲角色的前進方向將會改變,並且在攻擊與跳躍時發出聲音。 按下 Play 測試看看,你會發現沒有角色動畫,待,按下空白鍵也無法跳躍,這是因為缺少 groundCheck 無法判斷目前是否站在地面上,因為只有站在地上時可以跳躍。 ~ CG 數位學習網版權所有 ~ |