主要步驟
蘋果樹制作(蘋果與籃子的制作同理)
為蘋果添加標簽
相機位置設置與游戲面板長寬比設置(16:9)
蘋果下落設置(將蘋果從平拋運動改為垂直下落)
通過設置物理圖層并更改碰撞矩陣表實現
通過PlayerPrefs實現游戲重置時High Score不會重置
?PlayerPrefs即使在游戲結束后也不會被銷毀,因此最高分得以保留
后續
游戲啟動界面與游戲界面
游戲失敗的場景(打破最高分會有提示)
游戲成功場景
添加內容詳解
導出游戲時的比例問題:找到Canvas的Canvas Scaler組件并將UI縮放模式設置為“屏幕大小縮放”。
場景轉換:通過SceneLoader()函數實現了在游戲啟動界面按下“Game Start”轉換至游戲關卡界面并啟動游戲與游戲失敗和成功時按下對應按鈕的正確轉換。
退出游戲:在游戲啟動界面左上角有一個Exit按鈕按下可以退出游戲回到桌面。該功能通過調用Application.Quit()函數實現。
失敗與成功提示:籃筐數為0時判定為游戲失敗,當游戲失敗時激活Fail的Panel,同時判定是否輸出破紀錄提示。得分到2000(這個分數可以改動)時判定為游戲成功,激活Success的Panel。
破紀錄判定:在游戲失敗或成功時將HighScore和當前得分比較,若當前得分較大則輸出破紀錄提示,若否,則不提示。
最高分重置:在游戲啟動界面右上角有一個Reset Score按鈕點擊即可實現最高分重置為0,通過PlayerPrefs實現。
難度變化:每一千分設置提升難度,通過提升蘋果樹移動的速度、減小蘋果樹移動的概率(這會使蘋果落下的間隔距離變遠)和減小蘋果下落的距離實現。
代碼展示
AppleTree:實現對蘋果掉落間隔,蘋果樹移動速度和蘋果樹移動方向的控制。同時也負責判斷等級、難度提升以及游戲成功時的相關功能實現。
ApplePicker:負責籃筐生成、銷毀和數量檢測。同時實現了游戲失敗時的相關功能(包括面板喚醒 是否破紀錄判斷 以及場景轉換操作等)。
本次實驗有許多關于最高分以及當前得分的調用bug,需要從c#的語言邏輯去理解并解決。同時在游戲代碼的設計過程中還需要考慮是否需要每一幀都調用某些內容去減少對性能的損耗。