2

我正在尝试使用 javascript 在 html5 画布中构建摩托车游戏。现在我有一个轮子和一个简单的重力,它从画布顶部增加位置,直到轮子碰到画布底部。当我开始游戏时,轮子刚刚落到画布的底部。

我想为车轮创造一个弯曲的地面。问题是我不知道如何计算车轮是否撞到了地面。

这是一个插图。我希望轮子下降,直到它碰到弯曲的地面,如果我移动轮子,它需要跟随形状的边缘。

图片 http://i.minus.com/iFvy1dbnouvy6.png

我不想使用任何库或引擎,只有 javascript 和 html5。你有什么想法或解决方案吗?

4

3 回答 3

1

与其他答案类似,您可以简单地使用 if 语句来说明

if tire.y < line(tire.x) then tire.y = line(tire.x) - 1

线函数可以只是一个数组或一些公式,当给定任何 x 值时,它将包含线的 y 值。

于 2012-06-10T21:44:34.583 回答
0

为了检测车轮何时撞击地面,您应该拥有地面边界的坐标(例如:折线)以及车轮的射线和中心位置。

您可以通过检查您的车轮 y 坐标(中心 + 射线)在某些x(s)处是否低于折线的 y 坐标来检测碰撞。您应该通过仔细选择端点以合理的方式分割您的折线。

可能还有其他方法可以完成此任务,但这是我出来的第一个。

于 2012-06-10T17:22:08.690 回答
0

这是您正在寻找碰撞检测(弹性)的解决方案
..-------------------------------- -------------------------------------------------- ----------。
这是一个学习物理的简单而好的教程,特别是对于游戏开发者

于 2012-06-12T19:36:42.790 回答