我正在做一个简单的游戏,需要做类似水果忍者游戏的事情。我现在正试图让物体从底部飞到屏幕右边的曲线,就像这样(但是从随机位置而不是中间位置):
因为我对数学知之甚少,所以我现在已经坚持了很长一段时间。我该如何计算呢?
我让它以一种非常简单和讨厌的方式工作,但是对象有一个静态的速度,而不是很好的平滑,甚至我不知道我刚刚做了什么。
答案 0 :(得分:3)
答案 1 :(得分: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;
}