我试图创建一个带有2d数组的tilemap,并且正在与它稍微挣扎。当我迭代数组时,我应该为数组中的每个元素创建一个新的Sprite对象,或者是否可以为每个不同的tile创建一个sprite对象,然后将它们复制到屏幕上的相关位置。例如 - 注意行和列是已经初始化为5
的常量 int MazeMap[Rows][Columns] = { //Should the array type be int or Sprite*
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
};
for(int x = 0; x<Rows; x++)
{
for(int y = 0; y<Columns; y++)
{
if(MazeMap[x][y]==1)
{
//should I create a new Sprite object here or should I create
// a Tile1 sprite object above the array and then just pass it into
//this array to draw it to the screen?
}
}
}
对我来说,当你只有2个精灵对象并将它们复制到屏幕上的许多不同位置时,拥有(在这种情况下)25个精灵对象似乎效率很低。