我正在创建一个游戏,它有大约 3000 个粒子落入一堆。每个粒子都是一个像素,我只使用一个 boolean[][] 来设置和检查哪个像素是清晰的。现在我正在使用这段代码
if (!isFalling(m)) {
if (isClear(getX() + 1, getY()) && isClear(getX() + 1, getY() - 1))
setX(getX() + 1);
else if (isClear(getX() - 1, getY()) && isClear(getX() - 1, getY() - 1)
setX(getX() - 1);
}
问题是这段代码给了我一个非常严格的金字塔形状,看起来不太自然。如果你把它倒进一堆,我希望它看起来像盐。我的问题是,有人知道模拟粒子堆的算法或更好的方法吗?任何帮助将不胜感激。
解决方案:我在这里找到了一篇不错的文章