我正在 Arduino 上编写射击游戏,并且正在使用 AABB 碰撞检测 -
参考:边界框碰撞检测
我的问题是对象相互碰撞的时间,我目前正在使用一个基本触发器,这在两个对象相交的持续时间内是正确的。我认为我需要的最好用脉冲计数问题来描述,无论“脉冲长度”(或交叉持续时间)如何,都只检测到 1 个计数:
我如何在 C++ 中实现它?我目前正在使用的功能:
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;
}