Нижний индекс векторных листов SFML вне диапазона
Я довольно новичок в 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);
}
}
Если есть что-то еще, было бы полезно, если бы я предоставил, не стесняйтесь спрашивать
1 ответ
Решение
Я думаю внутренний for
неверное условие завершения цикла:
for(int tileX = 1; tileY < levelWidth; tileX++)
должно быть:
for(int tileX = 1; tileX < levelWidth; tileX++)
//^