我是SFML的新手,我一直在玩在线找到的基本平铺引擎。拼贴引擎中的相机无法很好地工作,因此我将其拿出来是为了稍后再更换。紧接在此之前,引擎将仅绘制屏幕上的图块,并且由于某些原因,该功能无法将其他图块添加到需要绘制的图块列表中。目前,我正在尝试绘制所有可能的图块,但在第一行-1之后收到矢量下标错误。
这是似乎引起错误的代码:
int levelHeight = currentLevel->getHeight();
int levelWidth = currentLevel->getWidth();
for(int tileY = 1; tileY < levelHeight; tileY++)
{
for(int tileX = 1; tileY < levelWidth; tileX++)
{
tile = currentLevel->getTile(tileX, tileY);
std::cout << "Adding Tile X: " << tileX << ", Y: " << tileY << " to buffer." << std::endl;
if(tile)
tile->draw((tileX * tileSize), (tileY * tileSize), display);
}
}
如果还有其他事情,请允许我问
最佳答案
我认为内部for
循环终止条件不正确:
for(int tileX = 1; tileY < levelWidth; tileX++)
应该:
for(int tileX = 1; tileX < levelWidth; tileX++)
//^