現在、sfml プラットフォーマーを作成していて、マップ タイルを使用しようとしていますが、マップ クラスを実装した後、未処理の例外が発生します。最初に初期化関数を呼び出し、最後に drawmap を呼び出します。ここにコードがあります..
void Map::Initialise(const char *filename)
{
std::ifstream openfile(filename);
if(openfile.is_open())
{
std::string tempLine;
std::getline(openfile, tempLine);
tempLine.erase(std::remove (tempLine.begin(), tempLine.end(), ' '), tempLine.end());
MapX = tempLine.length();
openfile.seekg(0, std::ios::beg);
while(!openfile.eof())
{
openfile >> MapFile[loadCountX][loadCountY];
loadCountX++;
if(loadCountX >= MapX)
{
loadCountX = 0;
loadCountY++;
}
}
MapY = loadCountY;
}
}
void Map::DrawMap(sf::RenderWindow &Window)
{
sf::Shape rect = sf::Shape::Rectangle(0, 0, BLOCKSIZE, BLOCKSIZE, sf::Color(255, 255, 255, 255));
sf::Color rectCol;
for(int i = 0; i < MapX; i++)
{
for(int j = 0; j < MapY; j++)
{
if(MapFile[i][j] == 0)
rectCol = sf::Color(44, 117, 255);
else if (MapFile[i][j] == 1)
rectCol = sf::Color(255, 100, 17);
rect.SetPosition(i * BLOCKSIZE, j * BLOCKSIZE);
rect.SetColor(rectCol);
Window.Draw(rect);
}
}