使用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. 修复跳起后在空中伸缩的动画
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,972评论 25 709
  • P165 --------------------第6章-概念设计------------------- 不断迭代...
    自闭少女福妮妮阅读 5,566评论 0 25
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 怎样更快更好的掌握知识呢? 一.底层知识。底层知识只最根本的基础就像学汉字时的拼音,英文的音标一样。 想学好一项技...
    翠霞_0256阅读 274评论 0 0
  • 不知道这间教室,现在又居住了哪些人 突然收到张毅从美国寄给我的信,夹着一张照片,照片里的女孩穿着绿色底白线校服,高...
    大幕阅读 1,594评论 35 41