我正在开发一个轴测图(等轴测图,但有角度视图)基于图块的游戏。
我的磁贴系统工作得很好,现在我正在处理输入问题。
瓷砖在视觉上与它们背后的逻辑(数组)不匹配(未对齐/偏移的菱形)。
在我使用“google-fu”找到的许多方法中,对输入应用转换(“旋转”)似乎是一种(代码量方面)易于实现且性能良好的方法。
问题是,对于我找到的所有来源,我无法真正掌握数字来自哪里,也无法掌握公式对它们的作用。
所以,我想解释一下“仿射变换”的数学公式(如果这是它的名字,因为我不确定......)
@Yochai_Timmer 对这个问题的回答是我想要使用的,但我不明白这些值的来源(主要是*),也不知道对它们做了什么。
[大部分*]:“28”是瓷砖宽度和全高的一半,“14”是半高,“56”是全宽......可能......但这几乎就是我从中得到的全部,无论正确与否,我还是被卡住了。
如果它可以帮助您给我一个更清晰的答案,我自己的图块是80 width
by 46 height
,我正在使用相同的方法应用(渲染)它们(图块的右上角1x2y
位于图块的中心1x1y
,依此类推.. .)
此外,我使用的是 Java,API 是 Slick2D。因此,如果您知道任何有助于公式数学的隐藏函数/类(例如:Math.sen()
、、Math.cos()
...)或一般问题,也欢迎您指出它们,因为它可能对我有很大帮助。