这个问题可能是嵌套for循环/ if语句的重复,但请耐心等待。我正在完成塔防的过程,我需要检查敌人是否在塔的范围内。我可以做某种物理圈,但我觉得最好的方法是检查每个敌人的塔的距离,看它是否在半径范围内。问题是,如果有500个敌人'和30个塔,每帧15,000个if语句。这会是性能沉重吗?我知道的唯一方法就是尝试这些:
有没有其他方法可以做到这一点,还是我的良好轨道?
答案 0 :(得分:0)
每次检查时,所有敌人是否都会移动?您可以在每次敌人移动时重新计算,哪些塔位于该特定敌人的半径范围内,然后更新敌人列表,仅用于那些已经移动到敌人半径或其中的塔。你需要将每个敌人映射到一个塔楼列表,以及每个塔楼的敌人列表。