新年第一篇文章,來寫一下這幾天寫的跳一跳小遊戲,最近微信推出了這個小遊戲,不少人都沉迷於戰勝好友沒法自拔,我也不例外。正好最近也在寫SceneKit的系列教程,因而決定作一款這樣的遊戲練練手,這一篇文章主要介紹遊戲項目的主要結構和大體邏輯,由於還有很多地方須要優化,因此更多細節的介紹會在後續文章中進行。下面是目前項目運行的效果。 git
遊戲邏輯比較簡單,主要有跳躍的玩家和基座組成。玩家按下後開始蓄力,鬆手跳起,若是落到下一個基座,則生成新的基座,不然遊戲結束。github
在項目Roles文件夾中,有BaseBox(基座) ,Player(玩家)兩個角色的類,後期能夠經過繼承BaseBox
來實現其餘行爲或者外觀的基座。在Controllers文件夾中,有控制各類邏輯的控制器,好比BoxController
控制基座的初始化,新基座的生成,CameraController
控制攝像機的行爲,PlayerController
控制玩家的運動和物理碰撞。遊戲中的碰撞並無使用SceneKit的物理引擎,只是本身寫了簡單的基於BoundingBox的檢測機制。Game.swift
中包含對這些Controller的配置和依賴處理代碼。swift
若是你有興趣,能夠獲取項目代碼。若是以爲還能夠,歡迎Star~,也歡迎訪問個人博客。微信