Box2D(AS3)模拟碰撞时的物体吸收力?

时间:2012-08-06 14:53:46

标签: actionscript-3 box2d collision

我希望这很容易。

我正在尝试模拟掉落的豆袋,可以在屏幕的一侧撞到网上。

我有: 表示手或蝙蝠的动态身体和圆形,分别移动到鼠标。 落下动态的圆圈形状代表豆袋。 简而言之,两个小圆圈形状代表网的顶部开口。

要移动手/蝙蝠,我会在每一步上更新线速度,以便可以将此力施加到豆袋上:

// move hand
deltaX = (handBody.GetPosition().x * scaleF) - mouseX; 
deltaY = (handBody.GetPosition().y * scaleF) - mouseY; 
var newVel:b2Vec2 = new b2Vec2(-deltaX, -deltaY);
handBody.SetLinearVelocity(newVel);

我的问题是,我希望Bean Bag吸收一些敲击的初始力量。目前,通过快速滑动将坠落的袋子从屏幕上甩掉是太容易了。有没有简单的方法来使用摩擦,阻尼或其他设置?我试过但似乎无法创造效果。任何人都可以建议我如何在不影响蝙蝠/手的更新位置的情况下手动移除一些碰撞力?

TIA, 克里斯

1 个答案:

答案 0 :(得分:0)

难道你不能将新的速度/豆袋速度乘以0.8或者其他什么来称之为阻尼效果吗?

但提供的代码看起来很奇怪,我看不到任何与影响或击中豆袋有关的内容。这只是设定手的速度?