我在跳跃精灵体方面有问题。以下是跳转精灵体的更新方法
-(void) update: (ccTime) dt
{
world->Step(dt, 10, 10);
// BOOL worldAsleep=true;
for(b2Body *b=world->GetBodyList();b;b=b->GetNext())
{
if(b->GetUserData() !=NULL)
{
CCSprite *myActor=(CCSprite *)b->GetUserData();
myActor.position=ccp(b->GetPosition().x *PTM_RATIO, b->GetPosition().y *PTM_RATIO);
b->SetTransform(b2Vec2(b->GetPosition().x,b->GetPosition().y), b->GetAngle());
if (fire.active==YES)
{
id jump=[CCJumpBy actionWithDuration:1 position:ccp(b->GetPosition().x, b->GetPosition().y) height:100 jumps:1];
[myActor runAction:jump];
b2Vec2 force = b2Vec2(0,350);
}
}
}
}
这里fire.active是一个用于跳跃精灵的按钮,而ccjumpto方法用于跳转精灵但是如何跳跃身体。 对于跳跃精灵体我使用的是ApplyLinearImpuls但它不能像精灵类型一样跳跃。
我想像精灵跳跃一样跳过精灵和身体
感谢重播
答案 0 :(得分:1)
嘿,你点击按钮时按下按钮,点击按钮时你将下面的代码放在下面:
b2Vec2 locationWorld;
locationWorld = b2Vec2(0.0f,8.0f);
double Force= _body->GetMass();
_body->ApplyLinearImpulse(Force*locationWorld, _body->GetWorldCenter());