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

handyTool發表於2019-02-27

前言

新年第一篇文章,來寫一下這幾天寫的跳一跳小遊戲,最近微信推出了這個小遊戲,很多人都沉迷於打敗好友無法自拔,我也不例外。正好最近也在寫SceneKit的系列教程,於是決定做一款這樣的遊戲練練手,這一篇文章主要介紹遊戲專案的主要結構和大致邏輯,因為還有不少地方需要優化,所以更多細節的介紹會在後續文章中進行。下面是目前專案執行的效果。

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

遊戲的主要邏輯

遊戲邏輯比較簡單,主要有跳躍的玩家和基座組成。玩家按下後開始蓄力,鬆手跳起,如果落到下一個基座,則生成新的基座,否則遊戲結束。

主要程式碼

在專案Roles資料夾中,有BaseBox(基座) ,Player(玩家)兩個角色的類,後期可以通過繼承BaseBox來實現其他行為或者外觀的基座。在Controllers資料夾中,有控制各種邏輯的控制器,比如BoxController控制基座的初始化,新基座的生成,CameraController控制攝像機的行為,PlayerController控制玩家的運動和物理碰撞。遊戲中的碰撞並沒有使用SceneKit的物理引擎,只是自己寫了簡單的基於BoundingBox的檢測機制。Game.swift中包含對這些Controller的配置和依賴處理程式碼。

專案程式碼獲取

如果你有興趣,可以獲取專案程式碼。如果覺得還可以,歡迎Star~,也歡迎訪問我的部落格

TODO

  1. 重構優化程式碼
  2. 完善遊戲UI
  3. 增加音效
  4. 增加基座模型
  5. 增加不同停留效果的基座
  6. 增加降落在中心附近時的特效,以及精準降落combo效果
  7. 修復跳起後在空中伸縮的動畫

相關文章