标签: javascript 2d collision-detection game-physics
如果画布上有一堆具有一定半径的圆圈,比如50,我如何在一个随机位置放置另一个半径为10的圆圈,这样它就不会与现有的圆圈碰撞或重叠?
我知道我可以放置圆圈,然后检查是否有任何碰撞并重试,但是我需要放置很多圆圈,这可能会卡住。想知道是否有更好的方法可以解决这个问题。
答案 0 :(得分:0)
要使用的解决方案是创建具有相同大小的另一个图像,然后将每个圆渲染到该图像上,但是新半径等于现有圆半径加上我想要放置的半径。然后,每个没有圆圈的像素都是可能的位置,我可以从这些位置中选择。