У меня небольшая проблема с загрузкой и применением текстур на 2D-карте тайлов. Я рисую свою карту вот так —
for (int x = 0; x < m_SceneManager->getWorld()->TILEX; x++)
{
//loop through the height of the map
for (int y = m_SceneManager->getWorld()->TILEY; y > -1; --y)
{
switch(m_SceneManager->getMap()->cMap[x][y])
{
case 0:
m_SceneManager->createTurf("Grass01.png", y*tileY, x*tileX);
break;
case 1:
m_SceneManager->createTurf("Rock01.png", y*tileY, x*tileX, 1);
break;
case 2:
m_SceneManager->createTurf("Grass01.png", y*tileY, x*tileX, 1);
m_SceneManager->createTurf("Tree01.png", y*tileY, x*tileX, 0, 64, 64);
break;
}
}
}
Вот как я читаю текстурный файл моей текстуры —
std::ifstream maptex;
maptex.open(texfile);
if(maptex.is_open())
{
while(map.good())
{
maptex >> m_Tile;
maptex >> m_Eq;
maptex >> m_Type;
maptex >> m_Filename;
}
}
maptex.close();
Оба являются двумя отдельными функциями. M_Tile — номер cMap [] [], m_Filename — имя файла текстуры. Я должен удалить этот переключатель и загрузить из этого текстового файла.
Задача ещё не решена.
Других решений пока нет …