首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

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

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



热点排行