我正在使用SDL和Box2D在Perl中编写2D平台游戏,
SetLinearVelocity()
功能运行良好,所以我可以将我的角色向左或向右移动。但是当我想使用ApplyLinearImpulse()
进行跳转时,它不起作用,ApplyForce()
也不起作用。角色对象就在那里。
我的代码:
if ($key_name=~/w/){
$me->ApplyLinearImpulse(Box2D::b2Vec2->new(0,20.0), $me->GetWorldCenter());
}
我也尝试添加:
$world->step(1.0/60.0,10,10);
之后,但没有回应。
请帮忙。
答案 0 :(得分:0)
哦,我发现这是因为我应该使用GetPosition()而不是GetWorldCenter(),并且需要更大的力来抬起我的对象!