45度斜角地图与鼠标坐标转换

来源:互联网 发布:淘宝怎样避免广告法 编辑:程序博客网 时间:2024/04/30 23:03

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}的展开式: 




原创粉丝点击