Box2D中的ApplyForce和ApplyLinearImpulse不起作用

时间:2015-04-03 17:54:45

标签: perl sdl box2d game-physics

我正在使用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);

之后,但没有回应。

请帮忙。

1 个答案:

答案 0 :(得分:0)

哦,我发现这是因为我应该使用GetPosition()而不是GetWorldCenter(),并且需要更大的力来抬起我的对象!