-1

我正在制作一个简单的游戏,需要做一些类似于水果忍者游戏的事情。我现在正试图让对象以曲线从底部飞到屏幕右侧,就像这样(但从随机位置而不是中间):

在此处输入图像描述

因为我对数学知之甚少,所以我已经坚持了很长一段时间。我应该如何计算这个?

我让它以一种非常简单和讨厌的方式工作,但对象有一个静态速度,而不是很好的平滑,甚至我都不知道我刚刚做了什么。

4

2 回答 2

3

在运动学方程中使用初始速度、发射角度和重力加速度。

于 2013-11-09T11:04:18.670 回答
1

根据牛顿第一运动定律,除非外力作用在物体上,否则物体以恒定的速度沿恒定的方向运动。这意味着每个对象都有一个位置(以 X 和 Y 坐标表示),该位置由每个游戏帧的向量(以 x 方向和 y 方向的速度表示)更改。当你开始运行时,你已经成功了一半。

for (GameObject object: gameObjects) {
     object.position.x += object.vector.x;
     object.position.y += object.vector.y;
}

但在这种情况下,你有一种影响物体的力:重力。重力是向 Y 方向的恒定加速度。这意味着矢量每帧都会被重力改变:

for (GameObject object: gameObjects) {
     object.vector.y -= GRAVITY;
     object.position.x += object.vector.x;
     object.position.y += object.vector.y;
}
于 2013-11-09T11:07:22.213 回答