-3

我的游戏玩法是一只动物跳过洞。如果它撞到一个洞,它就会失去生命。但是,如果它成功完成三个跳跃,它就会解锁一个成就。

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

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

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

4

2 回答 2

0

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

于 2017-03-18T21:53:31.053 回答
0

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

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

于 2017-03-18T22:50:16.170 回答