作家
登录

用ARKit做一个仿微信"跳一跳"游戏

作者: 来源: 2018-01-05 13:13:33 阅读 我要评论

那么在将来可以有哪些改进的处所呢?

  • 起首,坐标轴的偏向最好可以改变,比如每次均以用户当前手机面向的地位为 x 轴。
  • 其次,在动画效不雅、美不雅水平和声音效不雅上可以做一些改进或加强。
  • 最后,如不雅可以打破二维平面上的模式,甚至跟实际世界的物体结合来跳一跳,就更完美啦。

0. 媒介

比来微信推出的小法度榜样“跳一跳”真的火爆全国,作为开辟者看到今后,不禁想到:能不克不及把它和 ARKit 结合一下,在 AR 的场景下玩一玩呢?于是就有了这个 idea。借着之前的经验,也就有了如今的┞封个demo:ARBottleJump。下面就来简单介绍一下若何做出如许的一个小游戏。

1. 预告常识

起首,我们要对 SceneKit 和 ARKit 有必定的基本懂得。对于 SceneKit,你至少要知道:SCNNode、 SCNGeometry、SCNAction、SCNVector3 等最基本的类和他们的常用属性、办法(可以拜见 Apple 文档)。如不雅对 ARKit 还不太熟悉,那么可以看看我之前写的一片文┞仿:ARKit 初探。

当你预备好了,就让我们进入正题吧!

可以看出,当点击的地位可以成功经由过程点击测试办法获得至少一个地位时,这个地位就是我们要生成/开端游戏的处所。接着先调用一次 generateBox(_:) 在这个地位生成一个方块,然后在这个方块上加上棋子 addConeNode(),最后再生成一个瓶子要跳去的方块。

2. 整体思路

我把做这个小游戏的步调分为以下几个子步调:

  • 放置方块
  • 让婵子跳
  • 断定游戏掉败

我们知道,在 ARKit 中对于实际世界有一个三维坐标系。而经由过程不雅察微信的“跳一跳”,可以发明下一?方块放置的地位要么是当前方块的左边,要么是右边。出于简化的目标,我们就让方块都放在该坐标系的 XZ 平面上,并且每次随机决定是往 x 照样 z 轴偏向延展。示意图如下:

无标题.png

个中蓝色都代表依次生成的方块,可以看出它们的生成路径(红色箭头)都是平行于 x 或 z 轴的。

2.1 放置方块

起首,建立一个新列举类,列举下一?方块可能的偏向:

  1. // 随机偏向列举 
  2. enum NextDirection: Int { 
  3.     case left       = 0 
  4.     case right      = 1 

然后声明一个数组,记录所有的已经出现的方块:

  1. private var boxNodes: [SCNNode] = [] 

最后是生成方块的办法:

  1. private func generateBox(at realPosition: SCNVector3) { 
  2.     // 生成一个方块 
  3.     let box = SCNBox(width: kBoxWidth, height: kBoxWidth / 2.0, length: kBoxWidth, chamferRadius: 0.0) 
  4.     let node = SCNNode(geometry: box) 
  5.     // 给方块上色 
  6.     let material = SCNMaterial() 
  7.     material.diffuse.contents = UIColor.randomColor() 
  8.     box.materials = [material] 
  9.       
  10.     // 如不雅方块数量为空,解释在初始化游戏,直接把方块地位放在你点击的地位 
  11.     if boxNodes.isEmpty { 
  12.         node.position = realPosition 
  13.     } else { 
  14.         // 如不雅不为空,那么解释游戏正在进行中 
  15.         // 先随机生成一个偏向 
  16.         nextDirection = NextDirection(rawValue: Int(arc4random() % 2))! 
  17.           
  18.  1/5    1 2 3 4 5 下一页 尾页

      推荐阅读

      还在用浏览器内的「保存密码」功能?你的密码可能被黑客记下来了

    【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?安然研究人员发明,营销公司已经开端应用浏览器内置暗码治理器中已存在 11 年的一个马脚,来偷偷盗取你的电子邮件地址,>>>详细阅读


    本文标题:用ARKit做一个仿微信"跳一跳"游戏

    地址:http://www.17bianji.com/lsqh/40272.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)