Opengl纹理2D平铺地图

时间:2013-02-20 20:08:05

标签: c++ 2d textures tile

我在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是纹理文件名。我必须从该文本文件中删除该开关并加载。

0 个答案:

没有答案