Добрый день для всех! Итак, у меня есть такой случай, как this one. Мне нужно написать метод, который говорит, что прямоугольники перекрывают друг друга. Входы следующие: высота, ширина, x-pos и y-pos и прямоугольники параллельны оси x и y. Я использовал решение из questio, которому я дал ссылку, но он работает неправильно. Он говорит, что прямоугольники перекрываются, даже если они этого не делают! Я пропустил что-то важное?Перекрывающиеся прямоугольники
сам код:
public static bool AreIntersected(Rectangle r1, Rectangle r2)
{
return (!(r1.Left > r2.Left + r2.Width) || !(r1.Left + r1.Width < r2.Left) || !(r1.Top < r2.Top - r2.Height)|| !(r1.Top - r1.Height > r2.Top));
}
Большое спасибо за вашу помощь!
Это один из ответов, полученных на этот вопрос? Если нет, то почему вы создали свою собственную версию, когда есть простые, простые, высокозатратные решения, которые вы могли бы использовать? – adv12
Существует уже [Rectangle.Intersect] (https://msdn.microsoft.com/en-us/library/y10fyck0 (v = vs.110) .aspx) метод –
Это один из ответов на этот вопрос, и это не сработало. И я не могу использовать уже существующий метод, это часть задачи, чтобы создать свой собственный метод. (так что я, вероятно, должен немного изменить вопрос) –