Я пишу игру-стрелялку на Arduino и использую обнаружение столкновений AABB.
ref: Обнаружение столкновения с ограничивающей рамкой
Моя проблема заключается в том, что объекты времени сталкиваются друг с другом, в настоящее время я использую базовый триггер, который действует на время пересечения двух объектов. Я думаю, что то, что мне нужно, лучше всего описывает проблема подсчета импульсов, где независимо от «длины импульса» (или длительности пересечения) обнаруживается только 1 отсчет:
Как я могу реализовать это на С++? функция, которую я сейчас использую:
bool CollisionTest( xPlayer, yPlayer, xAlien, yAlien, width, height)
{
if( ((xPlayer+width) >= xAlien) && (xPlayer <= (xAlien+width)) &&
((yPlayer+height) >= yAlien) && (yPlayer <= (yAlien+height)) )
return true;
else
return false;
}