坐标算法

时间:2014-05-27 09:26:36

标签: algorithm coordinates

我正在创建2D游戏并遇到了一个特定的问题。想象一下,拥有一块带有数千个物体的huuuge板。现在我想每帧更新对象的状态。但是更新所有这些对象是愚蠢的。好的,一个简单的方法是迭代元素并检查 - 如果距离是满意的,那么更新。但那很慢。如果我让我们说1.000.000对象,并且在循环之后只有大约100个对象将被更新,这表明这是一个天真的算法。我需要一些能让我简单地获得这100个元素的算法,甚至500个。

某种散列图?坐标的hascode就像:

(x / 100) * 100

这就像“包”一样。但我怀疑它会提供显着的性能提升。你有什么想法?一些巧妙的算法?

1 个答案:

答案 0 :(得分:0)

我想说一个简单的方法就是将你的世界分成几个区域,每个区域都按屏幕的大小划分,并且只更新你的玩家所在的区域,以及它周围的8个区域。如果您的世界非常庞大,那么即使没有 - 您可能需要一个更智能的解决方案。

真的取决于你的要求,但我至少会尝试它,因为它非常简单,并且与迭代相比会给你带来很多性能提升。