1
我与SMFL/C++的工作做一个2D等距游戏引擎之间不必要的空间,我得到这个当我做等距算了一笔账:等距坐标,菱形,瓷砖
这里我的公式我在2D引擎来计算等距坐标: 对于IJ坐标我有:
x = (I - J) * (tileWidth/2);
y = (J + I) * (tileHeight/2);
//Totally working with classics tiles
编辑:我的问题是由于我的瓷砖形至极是立方体,但我不知道如何解决它。我真的不得不做一些复杂的数学来处理3D objetcs(我宁愿避免这种情况),或者我可以稍微改变一下公式?
编辑2:解决方法:int isoY = (x + y) * (height/4);
这是等轴测投影,你说得对,现在我只用z作为图层的位置,我的不好。 但我仍然想知道为什么我的地图不是一个完美的diamong:/ – Madz
我编辑了我的帖子。我不明白为什么它不工作,因为我在互联网上到处读到这个公式,并且它适用于所有人... 而且错误不是关于我如何编码,因为公式是完全写(writed?)像this:/ 'int isoX =(x-y)*(width/2); int isoY =(y + x)*(height/2);' – Madz
宽度和高度的值是多少?因为它应该是等轴测投影中的值。 (我以这种方式编辑)。 你如何绘制你的瓷砖? – Rbtnk