首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从小鼠坐标系中获取细胞等距指数?

如何从小鼠坐标系中获取细胞等距指数?
EN

Stack Overflow用户
提问于 2012-08-20 09:21:48
回答 1查看 604关注 0票数 3

我用瓷砖64x32绘制等距地图

代码语言:javascript
复制
const Offset = 160;
int X, Y;

for (int a=0; a < 6; a++)
 for (int b=0; b < 6; b++) {
X = a * 32 - b * 32 + Offset;
Y = a * 16 + b * 16;
DrawTile(X, Y, tile);
 }

图像,演示此代码:http://i.imgur.com/tgCxF.png

亲爱的专业人士,请帮助在单元格的等距指数中转换鼠标坐标的公式。示例:(105;100) -> 1;4。

谢谢。

P.S.请原谅我英语不好。我只是在学习..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-20 09:57:19

有两个基向量p=(32,16)和q=(-32,16)。任何向量r都是p和q的线性组合:

代码语言:javascript
复制
r = a * p + b * q
components:
rx = a * 32 - b * 32 = (a - b) * 32
ry = a * 16 + b * 16 = (a + b) * 16
so your indexes are:
a = (2 * ry  + rx) div 64
b = (2 * ry  - rx) div 64
(div is integer division)

补充道:注意到,我使用中间顶点作为坐标0,并考虑到您的偏移量。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12035096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档