【发布时间】:2015-11-16 14:19:51
【问题描述】:
这个问题可能与嵌套的 for 循环/if 语句重复,但请多多包涵。我正在做塔防的过程,我需要检查敌人是否在塔的范围内。我可以做一些物理圈,但我觉得最好的方法是检查每个敌人的塔的距离,看看它是否在半径内。问题是,如果有 500 个“敌人”和 30 个塔,那么每帧就有 15,000 个 if 语句。这会是性能重吗?我知道让这更容易的唯一方法是尝试这些:
- 仅检查每 x 帧(每秒执行 10 次 if 循环,而不是 100 次)
- 做一些猜测 - 附近的塔将使用与他们相同的塔
有没有其他方法可以做到这一点,或者我是否走上正轨?
【问题讨论】:
-
Unity 没有内置碰撞检测功能吗?您是否尝试过集成它?与内置碰撞检测器的分析比较结果是什么?为什么要自己检测碰撞?
标签: if-statement nested nested-loops