Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用XNA和平铺的等轴测平铺游戏中的对象_C#_Xna_Tiles_Isometric_Tiled - Fatal编程技术网

C# 使用XNA和平铺的等轴测平铺游戏中的对象

C# 使用XNA和平铺的等轴测平铺游戏中的对象,c#,xna,tiles,isometric,tiled,C#,Xna,Tiles,Isometric,Tiled,几天前,我尝试用XNA制作一个游戏。我在游戏中使用瓷砖,我决定让它看起来是等距的。我看过一些教程,它们解释了如何使用矩阵作为平铺的位置来创建游戏引擎,但是由于这样做需要做很多工作,所以我决定使用平铺来让我的地图变得更加简单和图形化 我制作了30x30的贴图,每个贴图有64x32个,我还将对象放在每个元素下面,我不想让角色行走,但当我看到由Tiled制作的XML文件时,每个对象都有坐标,与贴图的边缘一致,而不在窗口的左上方 我已经尝试过将这些坐标转换为正交坐标,甚至尝试旋转对象,但是没有成功的结果

几天前,我尝试用XNA制作一个游戏。我在游戏中使用瓷砖,我决定让它看起来是等距的。我看过一些教程,它们解释了如何使用矩阵作为平铺的位置来创建游戏引擎,但是由于这样做需要做很多工作,所以我决定使用平铺来让我的地图变得更加简单和图形化

我制作了30x30的贴图,每个贴图有64x32个,我还将对象放在每个元素下面,我不想让角色行走,但当我看到由Tiled制作的XML文件时,每个对象都有坐标,与贴图的边缘一致,而不在窗口的左上方

我已经尝试过将这些坐标转换为正交坐标,甚至尝试旋转对象,但是没有成功的结果

我不知道是否有办法解决这个问题,或者我做错了什么

我很高兴如果有人能给我一个解决方案来修复这些坐标或一些指示来制作一个等距平铺游戏,因为我看到一些人说这太容易了,但我发现正如我所想的那样很难


任何帮助都将不胜感激。

我只能建议您研究模型、视图和投影矩阵。 XNA Matrix API有许多有用且易于使用的功能,但似乎您需要先了解基本原理

也许反过来想会有帮助,翻译你的相机(50,0)与不翻译相机,而是翻译你世界中的一切(-50,0)是一样的

也有可能tiled和XNA有不同的坐标系(我不知道)。在这种情况下,您可能正在查看瓷砖的背面。XNA不会隐式渲染多边形的两侧(google背面消隐)


你可以在这里读一些东西:如果你不喜欢数学,还是读其余的吧。

请举例:)说真的,我不知道你在问什么。一些示例输入/输出以及您正在使用的代码可能会对您的理解大有帮助。我曾尝试在问题中插入图像,但由于我的声誉,我不能。很难用图像来解释。一些数字怎么样?艺术?你必须有办法提供更多的细节。