嘿,我有关于跳跃精灵身体的另一个问题。在我的代码我使用moveLeft和moveRight按钮,当我按下moveRight按钮使用以下代码
if (moveRight.active==YES)
{
b2Vec2 force=b2Vec2(4,0);
ballBody->SetLinearVelocity(force);
}
它的移动非常完美,当我释放这个按钮时,精灵体停止使用以下代码
else
{
b2Vec2 force=b2Vec2(0,0);
ballBody->SetLinearVelocity(force);
}
但是当我把其他部分放进去时,跳不能完成。我的跳转代码是
if (jumpSprite.active==YES)
{
NSLog(@"Jump Sprite");
b2Vec2 locationWorld;
locationWorld=b2Vec2(0.0f,4.0f);
double force=ballBody->GetMass();
ballBody->ApplyLinearImpulse(force*locationWorld, ballBody->GetWorldCenter());
}
如果我删除其他部分然后跳转将执行完成但精灵体不能在释放按钮后停止。
那该怎么办?
提前致谢
答案 0 :(得分:2)
我得到了答案。 我创建主体并首先检查它是圆形还是多边形,因为圆形体不能具有滚动阻力,因此在这种情况下我们不需要使用linearVelocity手动停止为0。 使用摩擦力除了圆形体外,所有物体都会自动停止。