本文整理汇总了C++中Shot::getCollisionRect方法的典型用法代码示例。如果您正苦于以下问题:C++ Shot::getCollisionRect方法的具体用法?C++ Shot::getCollisionRect怎么用?C++ Shot::getCollisionRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Shot
的用法示例。
在下文中一共展示了Shot::getCollisionRect方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WPN_ShotWallCollision
static Hit WPN_ShotWallCollision(Shot& shot, const Level& level)
{
const Rectangle box = shot.getCollisionRect();
Int32 up = Int32(box.right.y);
Int32 down = Int32(box.left.y);
Int32 left = Int32(box.left.x);
Int32 right = Int32(box.right.x);
bool hitsWall = level.isWall(left, up, true) ||
level.isWall(left, down, true) ||
level.isWall(right, up, true) ||
level.isWall(right, down, true);
return { hitsWall, nullptr };
}
示例2: WPN_ShotPlayerCollision
static Hit WPN_ShotPlayerCollision(Shot& shot, std::vector<Player>& players)
{
const Rectangle shotBox = shot.getCollisionRect();
for (Player& player : players)
{
if (!player.isInGame() || player.getBonus() == D6_BONUS_INVIS || player.is(shot.getPlayer()))
{
continue;
}
if (Collision::rectangles(player.getCollisionRect(), shotBox))
{
return {true, &player};
}
}
return { false, nullptr };
}