我正在为 Beat'em Up 游戏制作我的 2D 引擎(Castle Crashers 是我所说的 Beat'em Up 或 Brawler 类型的游戏)。
我将支持 2D 精灵和 2D 粒子发射器。现在这一切都在引擎中完成。但是我遇到了一个问题,我想请教一下:
这是关于“空间”管理的,我认为是做一些事情,如图所示:
替代文字 http://img337.imageshack.us/img337/9162/spacingprototype1.png
我的想法是制作一个网格(空间散列或网格),我的粒子发射器 / 2D 精灵将居住的地面。在我的图片中,我已经列举了从 1 到 N 的这个插槽(不一定是 35,它只是为了展示目的)。我的想法是按从 0 到 N 的顺序绘制“GameElements”(Sprites/Emitters)(从存储桶 0 到存储桶 N),然后我会让它们在屏幕上正确重叠显示(从后到前)。
我知道这可以通过比较每个元素的下 Y 轴并执行“快速排序”来完成,但是拥有网格可以让我以更好的方式执行碰撞检测,如果我执行 A* 之类的操作来实现某种人工智能,它也可以帮助我。