C# XNA二维变换

C# XNA二维变换,c#,xna,2d,transformation,C#,Xna,2d,Transformation,实际上,我有下面的贴图(等距投影),我可以移动/缩放/旋转,而不会出现矩阵变换的问题(SpriteBatch): 我想知道是否有可能(如果有,如何)在不参考3D的情况下得到以下结果: 欢迎所有建议。提前谢谢。:) 这将是一个巨大的痛苦,特别是,但我认为如果你不改变视角,这至少是可能的 一些想法: 使每个瓷砖都有自己的小图像单元 瓷砖离摄影机越远,绘制时其图层优先级越低,以便前面的瓷砖阻挡它。此外,您还必须找出一种算法,根据瓷砖的距离正确调整瓷砖的大小。该算法将必须越来越精确,越接近你想要得到的瓷

实际上,我有下面的贴图(等距投影),我可以移动/缩放/旋转,而不会出现矩阵变换的问题(SpriteBatch):

我想知道是否有可能(如果有,如何)在不参考3D的情况下得到以下结果:


欢迎所有建议。提前谢谢。:)

这将是一个巨大的痛苦,特别是,但我认为如果你不改变视角,这至少是可能的

一些想法:

使每个瓷砖都有自己的小图像单元

瓷砖离摄影机越远,绘制时其图层优先级越低,以便前面的瓷砖阻挡它。此外,您还必须找出一种算法,根据瓷砖的距离正确调整瓷砖的大小。该算法将必须越来越精确,越接近你想要得到的瓷砖,但应该有一些数学/几何公式,可以自动做到这一点


实际上,您根本无法旋转相机,除非您希望每个瓷砖的每个角度都有单独的精灵

没有3d就很难了。您可以尝试缩小距离较远的瓷砖,并使距离较近的瓷砖变大。但你们需要计算它们之间的位置,使它们彼此接近。