前言
新年第一篇文章,來寫一下這幾天寫的跳一跳小游戲,最近微信推出了這個(gè)小游戲,很多人都沉迷于打敗好友無法自拔,我也不例外。正好最近也在寫SceneKit的系列教程,于是決定做一款這樣的游戲練練手,這一篇文章主要介紹游戲項(xiàng)目的主要結(jié)構(gòu)和大致邏輯,因?yàn)檫€有不少地方需要優(yōu)化,所以更多細(xì)節(jié)的介紹會(huì)在后續(xù)文章中進(jìn)行。下面是目前項(xiàng)目運(yùn)行的效果。

游戲的主要邏輯
游戲邏輯比較簡(jiǎn)單,主要有跳躍的玩家和基座組成。玩家按下后開始蓄力,松手跳起,如果落到下一個(gè)基座,則生成新的基座,否則游戲結(jié)束。
主要代碼
在項(xiàng)目Roles文件夾中,有BaseBox(基座)
,Player(玩家)兩個(gè)角色的類,后期可以通過繼承BaseBox來實(shí)現(xiàn)其他行為或者外觀的基座。在Controllers文件夾中,有控制各種邏輯的控制器,比如BoxController控制基座的初始化,新基座的生成,CameraController控制攝像機(jī)的行為,PlayerController控制玩家的運(yùn)動(dòng)和物理碰撞。游戲中的碰撞并沒有使用SceneKit的物理引擎,只是自己寫了簡(jiǎn)單的基于BoundingBox的檢測(cè)機(jī)制。Game.swift中包含對(duì)這些Controller的配置和依賴處理代碼。
項(xiàng)目代碼獲取
如果你有興趣,可以獲取項(xiàng)目代碼。如果覺得還可以,歡迎Star~,也歡迎訪問我的博客。
TODO
- 重構(gòu)優(yōu)化代碼
- 完善游戲UI
- 增加音效
- 增加基座模型
- 增加不同停留效果的基座
- 增加降落在中心附近時(shí)的特效,以及精準(zhǔn)降落combo效果
- 修復(fù)跳起后在空中伸縮的動(dòng)畫