检查是否所有物体都已停止

时间:2015-03-22 19:30:42

标签: cocos2d-x-3.0 chipmunk

我是物理引擎的新手。我正在使用Cocos2dx v3.4和物理引擎Chipmunk 如何检查是否所有物体都已停止?

2 个答案:

答案 0 :(得分:0)

在遍历所有实体的过程中尝试方法body.isSleeping()。

链接:https://chipmunk-physics.net/forum/viewtopic.php?f=4&t=1103

答案 1 :(得分:0)

这是我检查一个精灵是否停止的方式:

#define STOP_VELOCITY 1.

if (sprite->getPhysicsBody()->getVelocity().x > STOP_VELOCITY || sprite->getPhysicsBody()->getVelocity().x < -STOP_VELOCITY ||
    sprite->getPhysicsBody()->getVelocity().y > STOP_VELOCITY || sprite->getPhysicsBody()->getVelocity().y < -STOP_VELOCITY) {
        return false;
    } else {
        sprite->getPhysicsBody()->setVelocity(Vec2(0,0));
        return true;
    }
}