【问题标题】:Successful Jump detection in sprite-kitsprite-kit 中的成功跳转检测
【发布时间】:2017-03-18 21:42:01
【问题描述】:

我的游戏是一只动物跳过洞。如果它撞到一个洞,它就会失去生命。但是,如果它成功跳了 3 次,就会解锁一个成就。

如何检测成功跳转?我有使用 SKPhysics​Contact 和 SKPhysicsBody 检测失败跳转的逻辑。

动物 ========>洞 1 ========>洞 2 ===========>洞 3======[解锁成就]= =============>

我可以使用 touches begin 和 touches end,但它会变得复杂,因为它可以进行其他假跳跃(不是越过洞)。

【问题讨论】:

    标签: sprite-kit skphysicsbody skphysicscontact


    【解决方案1】:

    您可以通过与孔检测类似的方式检测成功的跳跃。只需为您的平台分配一个单独的 SKPhysicsBody 类别位掩码以供您检查。一旦你检测到接触并且接触到的平台超过了第 3 洞,然后解锁成就。

    【讨论】:

      【解决方案2】:

      方法一) 假设您为动物跳跃的每个平台使用单独的 SKNode,请跟踪动物在跳跃前站立的最后一个平台 (SKNode),并与每次跳跃后它着陆的平台 (SKNode) 进行比较。 如果跳跃前平台节点与着陆平台节点不同,则动物成功跳跃。

      方法2) 如果关卡是基于坐标的,你可以有一个带有孔坐标的 NSArray,如果跳跃前后的动物坐标在其中一个孔的任一侧,则跳跃成功。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多