您的位置:首页 > 其它

45度的坐标转换成屏幕坐标

2011-07-05 01:45 465 查看
//斜45度的坐标转换成屏幕坐标
inline void MIToMD(int Dx,int Dy,int &Ix,int
&Iy)
{
Ix=(TileWidth>>1)*(Dx-Dy);//转换为绝对坐标x
Iy=(TileHeight>>1)*(Dx+Dy);//转换为绝对坐标y 大菱形
}
//屏幕坐标转换成斜45度的坐标
inline void MDToMI(int Ix,int Iy,int &Dx,int
&Dy)
{
Dx=int(0.5*((Iy<<1)+Ix)/(TileWidth>>1));
Dy=int(0.5*((Iy<<1)-Ix)/(TileWidth>>1));
}

其中
#define TileWidth 32 //每个Tile的宽
#define TileHeight 16
//每个Tile的高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: