使用SceneKit编写微信跳一跳小游戏(一)

前言

新年第一篇文章,来写一下这几天写的跳一跳小游戏,最近微信推出了这个小游戏,不少人都沉迷于战胜好友没法自拔,我也不例外。正好最近也在写SceneKit的系列教程,因而决定作一款这样的游戏练练手,这一篇文章主要介绍游戏项目的主要结构和大体逻辑,由于还有很多地方须要优化,因此更多细节的介绍会在后续文章中进行。下面是目前项目运行的效果。 git

游戏的主要逻辑

游戏逻辑比较简单,主要有跳跃的玩家和基座组成。玩家按下后开始蓄力,松手跳起,若是落到下一个基座,则生成新的基座,不然游戏结束。github

主要代码

在项目Roles文件夹中,有BaseBox(基座) ,Player(玩家)两个角色的类,后期能够经过继承BaseBox来实现其余行为或者外观的基座。在Controllers文件夹中,有控制各类逻辑的控制器,好比BoxController控制基座的初始化,新基座的生成,CameraController控制摄像机的行为,PlayerController控制玩家的运动和物理碰撞。游戏中的碰撞并无使用SceneKit的物理引擎,只是本身写了简单的基于BoundingBox的检测机制。Game.swift中包含对这些Controller的配置和依赖处理代码。swift

项目代码获取

若是你有兴趣,能够获取项目代码。若是以为还能够,欢迎Star~,也欢迎访问个人博客微信

TODO

  1. 重构优化代码
  2. 完善游戏UI
  3. 增长音效
  4. 增长基座模型
  5. 增长不一样停留效果的基座
  6. 增长降落在中心附近时的特效,以及精准降落combo效果
  7. 修复跳起后在空中伸缩的动画
相关文章
相关标签/搜索