Прежде всего, мой вопрос не имеет особого отношения к C# или XNA, но мои примеры кода будут использовать их.Обнаружение столкновения движущегося объекта с неподвижным
В настоящее время я пытаюсь создать клон-понг, и у меня возникла проблема с обнаружением столкновения.
Каждый объект имеет определенную скорость (которая является Vector2), Position (Vector2, также) и Speed (просто поплавок). На каждом Update() вызова объекта, положение изменяется таким образом:
Velocity.Normalize();
Position += Velocity * Speed;
На первом, я только проверил, если в настоящее время произошло столкновение между двумя объектами с простым пересекающими() вызов из прямоугольников объекты. Я быстро понял, что могу не только проверить, был ли объект в настоящее время, столкнувшись с другим, а скорее, если объект столкнулся с с объектом на своем пути. Только проверка того, что два объекта в настоящее время сталкиваются, заставил мяч пройти через весло, когда скорость была слишком высокой.
Я пробовал разные вещи, чтобы исправить проблему, но никто из них, похоже, не работал. Мне нужен только способ проверить, столкнулись ли два объекта на своем пути, и если они это сделают, если это было из горизонтального, вертикального или обоих (чтобы соответственно изменить скорость мяча).
Мне не обязательно нужно решение сразу, может быть, просто основная идея о том, как реализовать это, и я сам его закодирую.
Спасибо за ваше время.
Спасибо за ссылку. –