Я делаю реакционную игру, где вы можете уничтожать врагов и зарабатывать очки, но если вражеские узлы пересекают узел игроков, это уменьшает жизнь на один. Его реакционная игра, поэтому я хочу дать некоторые точки толерантности в пересечении. Поэтому, если они пересекаются, я не хочу сразу видеть сокращение.CGRectIntersectsRect переносит некоторые моменты перед реакцией
Вот мой код:
if (CGRectIntersectsRect(enemy.frame, player.frame)) {
lives--;
}
Моя цель порог терпимости к перекрестку. Надеюсь, кто-то может мне помочь. (код в объективе c пожалуйста)
вы пробовали просто уменьшив размер либо enemy.frame или player.frame для этой цели? Если вы сделаете их меньше, хит будет обнаружен «позже» – luk2302
, если вы используете SpriteKit, тогда я бы настоятельно рекомендовал использовать встроенный физический движок для коллизий через «SKPhysicsBody». Я также согласен с luk2302, просто уменьшаю размер физического тела. – Hamish
Я не буду работать, потому что мне нужна переменная физика для моей игры, и это невозможно. @ luk2302 Что вы имеете в виду, когда размер кадра меньше? вы имеете в виду изображение? Но это не то, что я ищу .. – ccdev