0

在我的 Corona SDK 游戏中,我希望一个物品从天上掉下来,然后在屏幕上随机指定的点沉降之前上下弹跳几次。假设我将在 X=500 和 Y=0 处放置一个项目。然后,我在 Y=700 处指定一个下落点,该项目将一直下落到 Y=700,然后弹回,然后向下,几次后(取决于弹力),安顿下来并停留在那里。

这个游戏是 2.5D,所以在底部有一个静态物理场是行不通的。

为此,我提出了两个选择,但都不是很好:

在我希望项目击中并上下反弹的位置制作一个临时不可见的 2x1 物理平台。这个平台是在我放下物品的那一刻创建的,并在物品安定下来(睡着了)时删除。

当物品通过某个点时,注入力或改变线速度。

然而,因为我的重力已设置为 40(9.8 的正常重力太飘了),一旦它停止在平台上弹跳,该项目将真正振动,并在 20 到 -40 的速度之间振荡(变化)而不去睡觉。

Injecting force 方法也造成了奇怪的结果,因为代码检查每个 enterFrame 事件的速度,所以结果并不一致。

4

1 回答 1

1

我认为无形的酒吧是最有意义的。我会考虑将重力降低到更接近正常的水平,并使用弹跳和密度来获得你想要的弹跳。

于 2013-07-01T00:58:18.613 回答