coordinate.h
来自「Visual C++角色扮演游戏程序设计(附带CD源代码)作者: (日)坂本千寻」· C头文件 代码 · 共 42 行
H
42 行
//
// 俯瞰式地图的座标转换
//
// Copyright (c) 2000-2001 Chihiro.SAKAMOTO (HyperWorks)
//
#ifndef __coordinate_h__
#define __coordinate_h__
enum {
MAPGRID_WIDTH = 64,
MAPGRID_HEIGHT = 32,
} ;
inline CPoint PointToIndex(int x, int y)
{
y = (y - MAPGRID_HEIGHT * 13 / 2) * 2;
#ifdef notdef // 当使用Shift时
return CPoint((x - y) >> 6, (x + y) >> 6);
#else
return CPoint((x - y + MAPGRID_WIDTH * 10) / MAPGRID_WIDTH - 10,
(x + y + MAPGRID_WIDTH * 10) / MAPGRID_WIDTH - 10);
#endif
}
inline CPoint PointToIndex(CPoint point)
{
return PointToIndex(point.x, point.y);
}
inline CPoint IndexToPoint(int x, int y)
{
return CPoint((x + y) * (MAPGRID_WIDTH / 2),
(12 - x + y) * (MAPGRID_HEIGHT / 2));
}
inline CPoint IndexToPoint(CPoint point)
{
return IndexToPoint(point.x, point.y);
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?