本文整理汇总了C++中MovingObject::CanCollide方法的典型用法代码示例。如果您正苦于以下问题:C++ MovingObject::CanCollide方法的具体用法?C++ MovingObject::CanCollide怎么用?C++ MovingObject::CanCollide使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MovingObject
的用法示例。
在下文中一共展示了MovingObject::CanCollide方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleCollisions
// Handles collisions between the object and all the DisplayableObjects in m_listForegroundItems and with the map edges: detection and reaction.
void GameEngine::HandleCollisions(MovingObject& _obj)
{
if (m_listForegroundItems.size() <= 1)
return;
CollisionDirection tmpDirection = NO_COL;
if (_obj.CanCollide())
{
// What happens if there is a collision so _obj is moved and there is another one and _obj is moved again ? The first collision would need to be handled again
for (std::map<unsigned int, DisplayableObject*>::iterator it = m_listForegroundItems.begin(); it != m_listForegroundItems.end(); ++it)
{
tmpDirection = m_collisionHandler->DetectCollisionWithObj(_obj, *(it->second));
if (tmpDirection != NO_COL)
{
m_collisionHandler->ReactToCollisionsWithObj(_obj, *(m_listForegroundItems[it->first]), tmpDirection);
}
}
}
m_collisionHandler->HandleCollisionsWithMapEdges(_obj);
}