【发布时间】:2016-05-02 05:24:53
【问题描述】:
我正在制作一个反应游戏,你可以在其中消灭敌人并获得积分,但如果敌人节点与玩家节点相交,则会减少生命值。 这是一个反应游戏,所以我想在十字路口给出一些容忍点。因此,如果它们相交,我不希望立即看到减少。
这是我的代码:
if (CGRectIntersectsRect(enemy.frame, player.frame)) {
lives--;
}
我的目标是交叉口的容忍阈值。 我希望有一个人可以帮助我。 (目标 c 中的代码)
【问题讨论】:
-
您是否尝试过为此目的而简单地减小enemy.frame 或player.frame 的大小?如果你把它们变小,命中将被“稍后”检测到
-
如果您使用的是 SpriteKit,那么我强烈建议您使用内置的物理引擎进行碰撞,通过
SKPhysicsBody。我也同意 luk2302,只是减小物理体的大小。 -
我不会工作,因为我的游戏需要一个不断变化的物理体,这是不可能的。 @luk2302 缩小框架是什么意思?你的意思是图像?但这不是我想要的......
-
luk2302 提出的建议是您生成两个新矩形,它们从两个框架矩形中插入并测试它们的交集。
-
@CRD 你能给我一个代码示例吗?
标签: ios objective-c sprite-kit 2d 2d-games