예제 #1
0
void Box2DBody::setLinearVelocity(const QPointF &linearVelocity)
{
    if (mLinearVelocity == linearVelocity)
        return;

    mLinearVelocity = linearVelocity;
    if (mBody)
        mBody->SetLinearVelocity(b2Vec2(mLinearVelocity.x() / scaleRatio,
                                        -mLinearVelocity.y() / scaleRatio));
    emit linearVelocityChanged();
}
예제 #2
0
void Box2DBody::setLinearVelocity(const QPointF &velocity)
{
    if (linearVelocity() == velocity)
        return;

    mBodyDef.linearVelocity = invertY(velocity);
    if (mBody)
        mBody->SetLinearVelocity(mBodyDef.linearVelocity);

    emit linearVelocityChanged();
}
예제 #3
0
void Box2DBody::setLinearVelocity(const QPointF &_linearVelocity)
{
    if (linearVelocity() == _linearVelocity)
        return;
    b2Vec2 point(_linearVelocity.x() / scaleRatio,
                                            -_linearVelocity.y() / scaleRatio);
    if (mBody)
        mBody->SetLinearVelocity(point);
    else
        mBodyDef.linearVelocity = point;

    emit linearVelocityChanged();
}