使用SceneKit編寫微信跳一跳小游戲(一)

前言

新年第一篇文章,來寫一下這幾天寫的跳一跳小游戲,最近微信推出了這個(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

  1. 重構(gòu)優(yōu)化代碼
  2. 完善游戲UI
  3. 增加音效
  4. 增加基座模型
  5. 增加不同停留效果的基座
  6. 增加降落在中心附近時(shí)的特效,以及精準(zhǔn)降落combo效果
  7. 修復(fù)跳起后在空中伸縮的動(dòng)畫
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,326評(píng)論 25 708
  • P165 --------------------第6章-概念設(shè)計(jì)------------------- 不斷迭代...
    自閉少女福妮妮閱讀 5,866評(píng)論 0 25
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,662評(píng)論 4 61
  • 怎樣更快更好的掌握知識(shí)呢? 一.底層知識(shí)。底層知識(shí)只最根本的基礎(chǔ)就像學(xué)漢字時(shí)的拼音,英文的音標(biāo)一樣。 想學(xué)好一項(xiàng)技...
    翠霞_0256閱讀 309評(píng)論 0 0
  • 不知道這間教室,現(xiàn)在又居住了哪些人 突然收到張毅從美國(guó)寄給我的信,夾著一張照片,照片里的女孩穿著綠色底白線校服,高...
    大幕閱讀 1,661評(píng)論 35 41

友情鏈接更多精彩內(nèi)容