使用XNA和Tiled的等距瓷砖游戏中的对象

时间:2014-06-02 23:39:04

标签: c# xna tiles isometric tiled

几天前,我正在尝试使用XNA制作游戏。我正在为我的游戏使用瓷砖,我决定让它看起来像是等距的。我已经看过教程,解释如何使用矩阵来处理游戏引擎的位置,但是因为这样做很多工作,所以我决定使用Tiled来使我的地图更容易和图形化。

我已经制作了我的地图30x30瓷砖,每个瓷砖都有64x32,我也把对象放在每个元素下面,我不想让角色走路但是当我看到Tiled制作的XML文件时,每个对象都有它的坐标是根据地图的边缘而不是窗口的左侧和上侧。

我已经尝试将那些通过它们的坐标变换为正交坐标,甚至试图旋转物体,但任何成功的结果。

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

如果有人可以给我一个解决方案来修复这些坐标或某些指示来制作等距平铺游戏,我会很高兴,因为我看到有些人说它太容易了但我发现它更难以实现

任何帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我只能建议您研究模型,视图和投影矩阵。 XNA matrices API具有许多有用且易于使用的功能,但似乎您需要首先了解基础知识。

反过来考虑它可能会有所帮助,翻译你的相机(50,0)与不翻译相机相反,而是翻译你世界上的所有东西(-50,0)。

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

你可以在这里阅读内容:http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/如果你不喜欢数学,那么请阅读其余内容。