本文整理汇总了C++中Obstacle::onContactBegin方法的典型用法代码示例。如果您正苦于以下问题:C++ Obstacle::onContactBegin方法的具体用法?C++ Obstacle::onContactBegin怎么用?C++ Obstacle::onContactBegin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Obstacle
的用法示例。
在下文中一共展示了Obstacle::onContactBegin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onContactBegin
bool SoaringLayer::onContactBegin(PhysicsContact& contact)
{
Node* nodes[2];
nodes[0] = contact.getShapeA()->getBody()->getNode();
nodes[1] = contact.getShapeB()->getBody()->getNode();
if (nodes[0] && nodes[1])
{
for (int i = 0; i < 2; i++)
{
int j = (i + 1) % 2;
if (nodes[i]->getTag() == FLYPLANT_TAG)
{
FlyPlant *flyPlant = dynamic_cast<FlyPlant*>(nodes[i]);
if (flyPlant)
{
flyPlant->onContactBegin(nodes[j]);
}
}
if (nodes[i]->getTag() == OBSTACLE_TAG)
{
Obstacle *obstacle = dynamic_cast<Obstacle*>(nodes[i]);
if (obstacle)
{
obstacle->onContactBegin(nodes[j]);
}
}
}
}
return false;
}