本博客已经转移至www.mozlite.com,可能不会及时更新和关注留言记录,mvc请加群88794325(已满),8781765ASP.NET(MVC)讨论二群

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

//斜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的高

posted @ 2011-07-05 01:45  网魂小兵  Views(1282)  Comments(0Edit  收藏  举报