在等轴测图中绘制一个矩形

时间:2017-10-27 03:09:49

标签: c# xna isometric

我一直试图在等轴测图中绘制一个矩形,但在过去的两个小时里,我一直在失败。如果有人能在这里给我一些帮助,我真的很感激。 以下是我想要包含的用于制作矩形和我最近尝试的所需坐标。

49,137  50,136  51,135  52,134
 50,137  51,136  52,135  53,134
50,138  51,137  52,136  53,135
 51,138  52,137  53,136  54,135
51,139  52,138  53,137  54,136
 52,139  53,138  54,137  55,136
52,140  53,139  54,138  55,137
 (............................)
(............................)
 (............................)
(............................)
 70,157  71,156  72,155  73,154
70,158  71,157  72,156  73,155

我为所有这些混乱道歉,但老实说,我无法找到任何更简单的方式来实际复制我一直想做的事情。

for (ushort a = 0; a <= 208; a++)
            {
                for (ushort b = 0; b <= 208; b++)
                {
                    if (a >= 49 && a <= 73 && b >= 134 && b <= 158 && (((b - a) >= 81) && ((b - a) <= 88)))
                    {
                        ChangeBlockColor(a, b);
                    }
                }
            }

编辑:

这似乎可以完成这项任务......但是我仍然在试图弄清楚是否有更清洁的方法来做这件事,因为这很可怕并且不能真正让我做一个矩形只给出几个变量,如起始坐标,宽度和高度:

for (ushort a = 0; a <= 208; a++)
            {
                for (ushort b = 0; b <= 208; b++)
                {
                    int Dif = b - a;
                    if (Dif >= 81 && Dif <= 88)
                    {
                        if ((Dif == 81 && a >= 53 && a <= 73 && b >= 134 && b <= 154) ||
                            (Dif == 82 && a >= 52 && a <= 73 && b >= 134 && b <= 155) ||
                            (Dif == 83 && a >= 52 && a <= 72 && b >= 135 && b <= 155) ||
                            (Dif == 84 && a >= 51 && a <= 72 && b >= 135 && b <= 156) ||
                            (Dif == 85 && a >= 51 && a <= 71 && b >= 136 && b <= 156) ||
                            (Dif == 86 && a >= 50 && a <= 71 && b >= 136 && b <= 157) ||
                            (Dif == 87 && a >= 50 && a <= 70 && b >= 137 && b <= 157) ||
                            (Dif == 88 && a >= 49 && a <= 70 && b >= 137 && b <= 158))
                        {
                            ChangeBlockColor(a, b);
                        }
                    }
                }
            }

0 个答案:

没有答案