我一直在制作基于瓷砖(块)的 2D 侧视图游戏。
到目前为止,我已经完成了基本的渲染和世界生成。每个图块(块)都有自己的类,用于块具有的不同操作或属性。但我需要一种使用数字创建这些对象的方法。
所以每个图块(块)都有自己的 id,所以我可以使用该 id 来创建新对象。对于库存系统。
我的做法是用它的数字对每个 Tile 进行硬编码。
public Tile getTile(int id, int x_pos, int y_pos)
{
switch (id)
{
case 0: return new GroundTile(x_pos, y_pos); break;
case 1: return new SpringTile(x_pos, y_pos); break;
...
}
return Tile.getEmptyTile(x_pos, y_pos);
}
我怀疑您是否正在为游戏创建基于图块的关卡。如果是这样,您可以使用Tiled Map Editor