Isometric Game Programming 笔记(三)格子间的移动

来源:互联网 发布:手机家具设计软件 编辑:程序博客网 时间:2024/04/25 22:41

1. 以某个格子为中心,既是将锚点(上文中说的(0,0)相对位置)设为格子的中心点。这样既可得到其他格子的位置。


2. 精灵在格子之间的移动。


假设图1中的9个格子的坐标对应图2.

那么得到格子8个方向行走时,其坐标的改变规律为:

POINT DiamondMap_TileWalker(POINT ptStart, IsoDirection Dir)
{
switch(Dir)
{
case ISO_NORTH:
{
ptStart.x--;
ptStart.y--;
}break;
case ISO_NORTHEAST:
{
ptStart.y--;
}break;
case ISO_EAST:
{
ptStart.x++;
ptStart.y--;
}break;
case ISO_SOUTHEAST:
{
ptStart.x++;
}break;
case ISO_SOUTH:
{
ptStart.x++;
ptStart.y++;
}break;
case ISO_SOUTHWEST:
{
ptStart.y++;
}break;
case ISO_WEST:
{
ptStart.x--;
ptStart.y++;
}break;
case ISO_NORTHWEST:
{
ptStart.x--;
}break;
}
return(ptStart);
}