Я новичок в SFML, и я следую учебному пособию, чтобы создать набор плитки для 2D игры, но когда я пытаюсь нарисовать карту, это дало мне векторный индекс вне диапазона, я использовал .push_back Вот код для класса карты:
Я новичок в SFML, и я следую учебному пособию, чтобы создать набор плитки для 2D игры, но когда я пытаюсь нарисовать карту, это дало мне векторный индекс вне диапазона, я использовал .push_back Вот код для класса карты: [code]#include "GameMap.h"
void GameMap::setUpInitialState() { //Set up player initial state exitPos = sf::Vector2i(1, 0);
//Playwe start at the bottom playerPos = sf::Vector2i(gridLength - 1, gridLength - 1);
}
void GameMap::setUpEnemyPosition() { enemyPosition.clear(); //Clear current enemy position enemyPosition.push_back(sf::Vector2i(0, 2)); //Enenmy 1 enemyPosition.push_back(sf::Vector2i(6, 0)); //Enenmy 2 enemyPosition.push_back(sf::Vector2i(2, 7)); //Enenmy 3
[/code] И ошибка возникает только тогда, когда я добираюсь до цикла в main.cpp [code]#include "GameTiles.cpp"
int main() { sf::RenderWindow* window = new sf::RenderWindow(sf::VideoMode({ 400, 400 }), "SFML works!");
GameMap WorldMap = GameMap(); //Constructor set up grid length
while (window->isOpen()) { while (const std::optional event = window->pollEvent()) { if (event->is()) window->close(); }
window->clear();
//Displaying the world for (int i = WorldMap.gridLength; i >= 0; i--) { for (int j = WorldMap.gridLength; j >= WorldMap.gridLength; j--) { window->draw(WorldMap.tiles[j][i]->sprite); } }
window->display(); } } [/code] Большое спасибо заранее за любой совет !! Я пытался изменить значения сетки, плитки и т. Д.>