Agario的服务器端源码:
https://github.com/huytd/agar.io-clone/blob/master/src/server/server.js
目测这个球球大作战是抄agario的。。
Agario用的是四叉树quadtree.四叉树每一层可以把一个平面空间分成四份(一般是四等分),这样提取在平面坐标上接近的object就很快。所以经常被用来处理这种碰撞
其实超简单的啦,用一个四叉树存储所有球和食物,在每一个循环里检查每一个object有没有和别的object接近到可以看碰撞就可以了。
目测这个球球大作战是抄agario的。。
Agario用的是四叉树quadtree.四叉树每一层可以把一个平面空间分成四份(一般是四等分),这样提取在平面坐标上接近的object就很快。所以经常被用来处理这种碰撞
其实超简单的啦,用一个四叉树存储所有球和食物,在每一个循环里检查每一个object有没有和别的object接近到可以看碰撞就可以了。
作者:马唐昊
链接:https://www.zhihu.com/question/43444388/answer/95748966
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。