问题
Hey i have another issue regarding jump sprite body. In my code i am using moveLeft and moveRight Button and when i am press moveRight Button using following code
if (moveRight.active==YES)
{
b2Vec2 force=b2Vec2(4,0);
ballBody->SetLinearVelocity(force);
}
Its move perfectly and When i release this Button than sprite body stop using following code
else
{
b2Vec2 force=b2Vec2(0,0);
ballBody->SetLinearVelocity(force);
}
But when i put this else part then jump can not done. My jump code is following
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());
}
If i remove else part then jump will perform complete but sprite body can not stop after release button.
So what to do??
Thanks in advance
回答1:
I got the answer. I we create body and first check it is circle or polygon because circle body can not have rolling resistance so and in this case we don't need to stop manually using linearVelocity to 0. Using friction all body stop automatically excepting circle body.
来源:https://stackoverflow.com/questions/12190999/sprite-body-can-not-stop