gpt4 book ai didi

python - 如何将加速度加到速度上?

转载 作者:行者123 更新时间:2023-12-01 01:42:45 27 4
gpt4 key购买 nike

我有一个名为箭头的图像。我想在按空格键时射箭。我通过使用已有的角度计算 velxvely 来做到这一点。

velx = math.cos(angle)*10
vely = math.sin(angle)*10

我将 velx 添加到图像的 x 坐标,将 vely 添加到图像的 y 坐标,这样我就可以射箭了。

现在,我想将 vely 加速 -9.8 。我该怎么做?

最佳答案

哦嘿,经典的 2D 游戏物理!让我们考虑一切都在米和秒,因为这就是你的引力常数-9.8看起来像。

所以你有你的位置(以米为单位),

posx = 0
posy = 0

你的速度(以米/秒为单位),已经是瞬时的加速到现在的速度(即弓箭手的 ARM 对箭施加了 10 m/s 的速度),

velx = math.cos(angle) * 10
vely = math.sin(angle) * 10

您的重力(以 m/s^2 为单位),

gravx = 0
gravy = -9.8

现在在物理模拟循环中,对于每一帧,您需要做的就是

timestep = 0.1  # seconds to simulate this frame; this depends on FPS, etc.

# move the object according to its velocity
posx += velx * timestep
posy += vely * timestep

# apply acceleration based on gravity (you could add wind, etc. here)
velx += gravx * timestep
vely += gravy * timestep

您可以在可汗学院找到相同类型的模拟令人震惊Pixar in a Box series .

关于python - 如何将加速度加到速度上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51702594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com