C# 等轴测地图绘制
我试图创建一个等轴测地图编辑器,但在生成地图时遇到了这个问题: 我生成的地图看起来像(A)方案,屏幕外有一些瓷砖。我必须在代码中更改什么才能获得(B)-ish映射 这是我用来在地图中创建单元格的代码。 (32为瓷砖高度和宽度)C# 等轴测地图绘制,c#,xna,drawing,isometric,C#,Xna,Drawing,Isometric,我试图创建一个等轴测地图编辑器,但在生成地图时遇到了这个问题: 我生成的地图看起来像(A)方案,屏幕外有一些瓷砖。我必须在代码中更改什么才能获得(B)-ish映射 这是我用来在地图中创建单元格的代码。 (32为瓷砖高度和宽度) for(int i=0;i这里的问题似乎是您的系统从右上角开始构建分片行,然后工作到左下角。由于第一个分片的初始坐标为0,0,当它在左侧绘制子序列行时,它们会很快从屏幕上消失 最简单的解决方法是将x坐标右移,这样它就可以从区域的中间开始绘制顶部瓷砖,同时记住我们希望瓷砖
for(int i=0;i这里的问题似乎是您的系统从右上角开始构建分片行,然后工作到左下角。由于第一个分片的初始坐标为0,0,当它在左侧绘制子序列行时,它们会很快从屏幕上消失
最简单的解决方法是将x坐标右移,这样它就可以从区域的中间开始绘制顶部瓷砖,同时记住我们希望瓷砖的中心位于区域的中心,而不是左上角
int isox = (Width / 2) - (tileLength / 2) + x - y;
int isox = (Width / 2) - (tileLength / 2) + x - y;