作家
登录

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

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

with event: UIEvent?) { 
  •     ... 
  •     if boxNodes.isEmpty  { 
  •         同 2.1 中代码 
  •     } else { 
  •         // 游戏进行中,按压屏幕,记录开端时光 
  •         touchTimePair.begin = (event?.timestamp)! 
  •     } 
  • 按压停止时,不仅记录了停止时光、计算时光差,也根据时光差来对瓶子进行移动:

    1. override func touchesEnded(_ touches: Setwith event: UIEvent?) { 
    2.     ... 
    3.     // 记录停止时光 
    4.     touchTime{Pair.end = (event?.timestamp)! 
    5.       
    6.     // 计算两者时光差 
    7.     let distance = distanceCalculateClosure(touchTimePair.end - touchTimePair.begin
    8.       
    9.     // 根据两种偏向,决定移动的偏向 
    10.     var actions = [SCNAction()] 
    11.     if nextDirection == .left { 
    12.         let moveAction1 = SCNAction.moveBy(x: distance, y: kJumpHeight, z: 0, duration: kMoveDuration) 
    13.         let moveAction2 = SCNAction.moveBy(x: distance, y: -kJumpHeight, z: 0, duration: kMoveDuration) 
    14.         actions = [SCNAction.rotateBy(x: 0, y: 0, z: -.pi * 2, duration: kMoveDuration * 2), 
    15.                    SCNAction.sequence([moveAction1, moveAction2])] 
    16.     } else { 
    17.         let moveAction1 = SCNAction.moveBy(x: 0, y: kJumpHeight, z: distance, duration: kMoveDuration) 
    18.         let moveAction2 = SCNAction.moveBy(x: 0, y: -kJumpHeight, z: distance, duration: kMoveDuration) 
    19.         actions = [SCNAction.rotateBy(x: .pi * 2, y: 0, z: 0, duration: kMoveDuration * 2), 
    20.                    SCNAction.sequence([moveAction1, moveAction2])] 
    21.     } 
    22.     ... 

    为了模仿微信跳一跳的动画效不雅,应用了 SCNAction 的 group 和 sequence 办法。个中 group 指的昵嘟个动作并行进行,sequence 则是两个动作持续进行。所以最终叠加的效不雅是如许的:

    无标题.png

    紧接着膳绫擎的代码,我们对瓶子进交活动,并且在它活动停止之后,进行游戏有没有掉败的断定。

    同样,也就是在这里,进行下一?方块的生成。


      推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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