gpt4 book ai didi

c++ - SFML 平铺 vector 下标超出范围

转载 作者:行者123 更新时间:2023-11-28 03:37:33 25 4
gpt4 key购买 nike

我是 SFML 的新手,我一直在使用我在网上找到的基本图 block 引擎。在 tile engine 中有一个相机不能很好地工作,所以我把它拿出来打算以后用我自己的来代替它。在此之前,引擎将仅绘制屏幕上的图 block ,并且由于某种原因无法将其他图 block 添加到需要绘制的图 block 列表中。目前,我正在尝试绘制所有可能的图 block ,但在第一行 - 1 之后收到 vector 下标错误。

这是导致错误的代码:

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++)
//^

关于c++ - SFML 平铺 vector 下标超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com