2d数组的每个元素是否应该创建一个新的Sprite对象?

时间:2017-04-26 15:22:32

标签: c++ arrays multidimensional-array sprite tile

我试图创建一个带有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个精灵对象似乎效率很低。

0 个答案:

没有答案