我需要一种方法来获取屏幕某个区域中所有精灵的列表,而我无法在互联网上找到任何精灵。
有人可以给我一个如何做到这一点的示例代码吗?
如果有帮助,所有精灵都在“活动”列表中。
答案 0 :(得分:1)
取决于你是否有障碍,即"在区域内的定义"意味着并且还有很多你正在处理的精灵。
如果精灵数量不多且距离计算速度很快,那么蛮力可能就行了。
for sprite in sprites:
if something.distance(sprite) < THRESHOLD:
do_something_with_near_sprite(sprite)
如果你有很多精灵,那就看看四胞胎等等。如果计算距离很复杂,那么您可能想要查看A *算法。有这些东西的库,所以你不应该自己实现它们,除非你想这样做。
这是一个相当普遍的问题(准备让其他人投票:)