gpt4 book ai didi

javascript - 基于 2D 平铺/时间的碰撞检测

转载 作者:行者123 更新时间:2023-11-28 08:36:28 26 4
gpt4 key购买 nike

我目前正在创建一款基于 2D 图 block map 的塔防游戏。

游戏循环基于 HTML5-API requestAnimationFrame,因此我使用基于时间的动画。

现在的问题是,如何有效地检查碰撞?如果增量太高,子弹可能会跳到敌人后面而不会引发碰撞。子弹和敌人各自可以有不同的移动速度。

到目前为止,我发现的唯一可能的解决方案是实现“固定时间步物理”,这感觉有点老套。还有其他解决办法吗?

我想一些适合这个主题的关键字/算法已经有很大帮助了!

最佳答案

在每个更新周期中绘制一条遵循子弹轨迹的线。还可以使用相同的方法为可能移动的任何目标绘制一条线,如果线相交,则发生碰撞(还要检查静止目标)。

即将线的向量设置为每个更新周期的项目符号 lastPosition 到项目符号 currentPosition,每次更新时测试此线段沿其路径的碰撞情况。

关于javascript - 基于 2D 平铺/时间的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102995/

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