gpt4 book ai didi

algorithm - 如何计算弹丸击中移动目标的坐标?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:38 25 4
gpt4 key购买 nike

我正在创建一个网格游戏(如国际象棋,x/y 坐标),在这个游戏中有一些射弹必须击中移动目标。

移动目标遵循由 X/Y 坐标的 X 步组成的路径(通过 A* 寻路获得)。抛射物不遵循路径,它们直接从发射器到目标。

我想计算弹丸击中目标的坐标(根据他的路径)

我尝试使用:2d game : fire at a moving target by predicting intersection of projectile and unit但如果目标在弹丸飞行过程中转向,则该算法不起作用。

你能帮我解决这个算法吗?

作为输入我有:

  • 目标路径每一步坐标
  • 目标和弹丸的速度
  • 实际的 x/y 目标位置(如果需要,它可以是 x:7.61、y:5.22 之类的 float )
  • 发射器位置

你可以考虑:

  • 目标在抛射物飞行过程中永远不会改变他的路径
  • 如果目标没有移动,则速度等于0
  • 如果需要,可以延迟弹丸启动

感谢您的帮助!

最佳答案

你快到了。

用对象到达那里的时间(应该是长度/速度)注释对象路径中的每个步骤。

接下来获取路径的每一段并假设目标仅沿着该段移动并使用您找到的答案找出它会相交的位置。有 3 个选项。

  1. 您击中了该段内某处的目标。这就是您正在寻找的解决方案。
  2. 您将在该段结束后击中目标。这意味着您距离太远,因此无法在目标行驶该特定路段时击中目标。您需要尝试路径的下一段。
  3. 您会在分段的起点之前击中目标。这意味着该段相对较近,您应该可以随时击中目标。您可以确定这是一个解决方案,并为您的镜头添加一些延迟,以便目标位于片段内,或者尝试上一个片段。

鉴于上述情况,我将从目标路径的第一段开始。如果你不能在那里击中目标,请尝试下一个,直到找到一个你可以击中目标的地方。这将是目标在射程内的第一个位置,因此射击应该没有延迟。

关于algorithm - 如何计算弹丸击中移动目标的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36883587/

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