|
|

楼主 |
发表于 2010-6-20 17:06:00
|
显示全部楼层
Re:现在学习一款2.5D的游戏(2D的场景,3D的人物模型),
// 这个函数是通过传入的地图的像素来创建坐标系统
bool CTheodolite::Create(int nWidthPixel, int nHeightPixel)
{
// 地图像素宽度
m_dwMapWidthPixel = nWidthPixel;
// 地图像素高度
m_dwMapHeightPixel = nHeightPixel;
int nCol = (nWidthPixel + TILE_WIDTH_PIXEL - 1) >> 6/*一个tile占64像素宽*/;
int nRow = (nHeightPixel + TILE_HEIGHT_PIXEL - 1)>> 5/*一个tile占32像素高*/;
// 左上角第一个TILE的y向偏移
m_yLeftTopYOffset = nRow - 1;
// 地图tile宽度
m_dwMapWidthTile = nRow + nCol; // 谁能帮忙解释一下地图的tile宽为什么是这两个值的和
// 地图tile高度
m_dwMapHeightTile = nRow + nCol - 1; // 同上
// 地图宫格高度
m_dwMapWidthGrid = (m_dwMapWidthTile + 16 - 1) >> 4 /*一个宫格占16个tile*/;
// 地图宫格宽度
m_dwMapHeightGrid = (m_dwMapHeightTile + 16 - 1) >> 4/*一个宫格占16个tile*/;
return true;
}
|
|