0

我希望这很容易。

我正在尝试模拟一个落下的豆袋,它可以撞到屏幕一侧的网中。

我有:代表手或蝙蝠的动态身体和圆形形状,它们分别随鼠标移动。代表豆袋的下降动态身体圆形形状。简单地说,两个小圆圈代表网的顶部开口。

为了移动手/蝙蝠,我更新了每一步的线速度,以便可以将这个力施加到豆袋上:

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

我的问题是我希望豆袋能吸收一些初始的敲击力。目前,快速滑动将落下的袋子从屏幕上甩开太容易了。有没有简单的方法来使用摩擦、阻尼或其他设置?我已经尝试过,但似乎无法产生效果。谁能建议我如何在不影响球棒/手的更新位置的情况下手动消除一些碰撞力?

蒂亚,克里斯

4

1 回答 1

0

你不能把新的速度/豆袋速度乘以 0.8 或其他什么,然后称之为阻尼效应吗?

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

于 2012-08-06T17:29:51.887 回答