本文整理汇总了C++中Physics::mapCollision方法的典型用法代码示例。如果您正苦于以下问题:C++ Physics::mapCollision方法的具体用法?C++ Physics::mapCollision怎么用?C++ Physics::mapCollision使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Physics
的用法示例。
在下文中一共展示了Physics::mapCollision方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
//.........这里部分代码省略.........
25, 25, 20, "+");
// KOLLISIONSHANTERING
// FÖr vapen
if(grenade.isThrown())
{
for (int i = 0; i < 2; ++i)
{
if (physics.objCollision(grenade, *enemies[i])) //
{
explosion.locate(grenade);
grenade.impact(true);
grenade.reset();
grenade.getsThrown(false, *my_user);
enemies[i]->decreaseHealth(34);
enemies[i]->setDir(RIGHT);
enemies[i]->move();
++explosions;
break;
}
}
if (physics.objCollision(grenade, *my_partner))
{
explosion.locate(grenade);
grenade.impact(true);
grenade.reset();
grenade.getsThrown(false, *my_user);
my_partner->decreaseHealth(34);
my_partner->setDir(RIGHT);
my_partner->move();
++explosions;
}
else if (physics.mapCollision(grenade, farm))
{
// Orsaka ny skada
Static_Sprite* d = new Static_Sprite(0,0);
d->setGfx(damage_gfx);
d->loadGfx();
d->locate(grenade);
damage.push_back(d);
explosion.locate(grenade);
grenade.impact(true);
grenade.reset();
grenade.getsThrown(false, *my_user);
++explosions;
}
else if (physics.outOfBounds(grenade, farm))
{
grenade.reset();
grenade.getsThrown(false, *my_user);
}
}
// Kollisionshantering för spelarkrockar
// Åerställ kollisionsflagga
my_user->allow();
if (physics.objCollision(*users[0], *users[1])) //
{
// Returnerar true eller false => 0 eller 1 => LEFT eller RIGHT
DIR = (my_user->getX() > my_partner->getX());
my_user->reject(DIR);
}
if (physics.mapCollision(*my_user, farm))