Ответ 1
Используйте bool CGRectIntersectsRect (CGRect rect1,CGRect rect2);
Swift 3:
public func intersects(_ rect2: CGRect) -> Bool
Пример: rect1.intersects(rect2)
In -drawRect: Я хочу проверить, пересекается ли предоставленный прямоугольник с другимRect.
Я плохо разбираюсь в этом материале математики и особенно на английском, поэтому я хочу сказать:
Если у вас на столе два листа бумаги, и один из них покрывает другой либо полностью, либо небольшую часть, это rectsIntersect = YES.
Как проверить это на rect
и anotherRect
?
Используйте bool CGRectIntersectsRect (CGRect rect1,CGRect rect2);
Swift 3:
public func intersects(_ rect2: CGRect) -> Bool
Пример: rect1.intersects(rect2)
Попробуйте использовать это. Во время анимации изображения вы можете получить его фактический кадр:
[[obstacle1.layer presentationLayer] frame];
Таким образом, легко сделать столкновение двух изображений
if (CGRectIntersectsRect([[obstacle1.layer presentationLayer] frame], [[bgImageView.layer
presentationLayer] frame]))
{
NSLog(@"Collision 1");
}