游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4479|回复: 7

一段斜45度屏幕座标到地图座标转换的代码

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-12-24 11:18:00 | 显示全部楼层 |阅读模式
public static Point XY2grid(int x, int y)//x,y是屏幕座标
    {
        Point p = new Point(0, 0);
        int tileW = 24;
        int tileH = 12;

        int cx, cy, rx, ry;
        cx = (x / tileW) * tileW + tileW/2;//MS计算出当前X所在的TILE的中心的X坐标
        cy = (y / tileH) * tileH + tileH/2;//MS计算出当前Y所在的TILE的中心的Y坐标

        //这里开始就不明白了,请高手指点
        rx = (x - cx) * tileH/2;
        ry = (y - cy) * tileW/2;

        if (Math.abs(rx)+Math.abs(ry) <= tileW * tileH/4)
        {
            p.x = (x / tileW) * 2;
            p.y = (y / tileH) * 2;
        }
        else
        {
            x -= tileW/2;
            y -= tileH/2;
            p.x = (x / tileW) * 2 + 1;
            p.y = (y / tileH) * 2 + 1;
        }
        return p;
    }


1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-12-25 16:02:00 | 显示全部楼层

Re:一段斜45度屏幕座标到地图座标转换的代码

怎么没人回啊,都不懂吗?

10

主题

173

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2008-12-25 17:43:00 | 显示全部楼层

Re: 一段斜45度屏幕座标到地图座标转换的代码

帮你顶一下。
public static Point XY2grid(int x, int y)//x,y是屏幕座标
{
        Point p = new Point(0, 0);
        ......
        (和你一样看不懂)
        ......
        return p;
}

这样做其实很不好。

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2008-12-27 14:58:00 | 显示全部楼层

Re:一段斜45度屏幕座标到地图座标转换的代码

绝对坐标---相对坐标数学算法??????????

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-12-29 15:15:00 | 显示全部楼层

Re:一段斜45度屏幕座标到地图座标转换的代码

rx = (x - cx) * tileH/2;
ry = (y - cy) * tileW/2;

这里计算的是两个面积,这两个面积的和与TILE的1/4面积比较大小,再作相应的处理,可是为什么要这样做还是不明白。

10

主题

173

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2008-12-29 15:34:00 | 显示全部楼层

Re:一段斜45度屏幕座标到地图座标转换的代码

大哥,还在这段代码中绕圈圈啊?
你就当这段算法的代码是错的,然后自己写一个也早写好了.

这段算法代码究竟是不是错了呢?
要看地图设计者的地图设计是什么样的.对他自己是正确的.但可以肯定不能乱搬.

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-12-30 13:29:00 | 显示全部楼层

Re:一段斜45度屏幕座标到地图座标转换的代码

我在用别人的来改得嘛,自己写花时间更多。

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2013-8-12 20:26:48 | 显示全部楼层
jingth_wy 发表于 2008-12-30 13:29
我在用别人的来改得嘛,自己写花时间更多。

大哥你的问题解决了没?我现也在这里纠结,能不能多给点代码出来学习下啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-15 04:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表