读书人

【转】 45度斜角map与鼠标坐标转换

发布时间: 2012-12-27 10:17:10 作者: rapoo

【转】 45度斜角地图与鼠标坐标转换
http://hi.baidu.com/leexper/blog/item/9b6cce10350d1e0f203f2ecc.html


转载自 lossless1009
最终编辑 lossless1009
45度斜角地图在开发游戏时经常需要使用。
如何进行坐标之间的转换呢?





基本的公式为:

***********************************
N=int(x/TileW y/TileH)
M=int(x/TileW + y/TileH)
***********************************
N,M 是碎片的索引,从0开始。
TileW,TileH是碎片的长宽。
x,y是鼠标坐标,但是注意坐标系原点。

以上如图:




原理如下:

我们建立一个新的坐标系。以花体字的u,v为新的基向量。





然后把鼠标坐标(注意原点!)(x,y)转换成基于新的基集t={u,v}的展开式:



读书人网 >编程

热点推荐