Java游戏,计算曲线

Java游戏,计算曲线,java,game-physics,Java,Game Physics,我正在做一个简单的游戏,需要做一些类似的水果忍者游戏。我现在尝试使对象在曲线中从底部飞到屏幕右侧,如下所示(但从随机位置而不是中间): 因为我在数学方面的知识太少了,所以我在这方面停留了相当长的一段时间。我该怎么计算呢 我让它以一种非常简单和恶劣的方式工作,但是物体有一个静态的速度,而不是很好的平滑,甚至我都不知道我刚刚做了什么 在中使用初始速度、发射角度和重力加速度根据牛顿第一运动定律,物体以恒定速度沿恒定方向移动,除非外力作用于物体上。这意味着每个对象都有一个位置(以X和Y坐标表示),该位

我正在做一个简单的游戏,需要做一些类似的水果忍者游戏。我现在尝试使对象在曲线中从底部飞到屏幕右侧,如下所示(但从随机位置而不是中间):

因为我在数学方面的知识太少了,所以我在这方面停留了相当长的一段时间。我该怎么计算呢


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

中使用初始速度、发射角度和重力加速度根据牛顿第一运动定律,物体以恒定速度沿恒定方向移动,除非外力作用于物体上。这意味着每个对象都有一个位置(以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;
}

但假设起始y=-500,垂直速度(向量y)=5,重力为2(任意数,我不知道)。这意味着每场比赛将减去2,再加上5,这将显示3的稳定速度。速度或重力应该波动吗?@Gideo将重力添加到速度中,而不是位置中。在第一帧中,你会在位置上加5,在第二帧中,你会加3,在第三帧中,你会加1,在第四帧中,你会减去1,在第六帧中,你会减去3。结果是不断的向下加速。对,成功了!比预期的容易多了。谢谢你的帮助。:)这对于我的简单作业来说太多了,无论如何谢谢。我将尝试在我的个人项目中实现这一点!