将2d坐标转换为等距坐标

时间:2011-07-25 00:12:55

标签: flash actionscript-3 math

我正在更新我制作的等距视图的2D游戏,问题是将给定动画片段的2d坐标转换为等距视频时遇到问题。我将游戏转换为等距游戏的方式只是将矩形图形旋转45度并增加其宽度,使其高度为2倍。

它看起来很棒,但正如我所说,我在将所有2D坐标转换为等距坐标时遇到问题

是否有转换它们的功能,或者我可以使用的数学公式?通过游戏制作的方式不是基于图块的,所以不幸的是,使用图块来转换坐标的函数不会起作用。

提前致谢

编辑:我设法修复它,我只是将对齐更改为左上角,即虽然游戏是等距的并且具有demimonde形状,但我想它包含在框,并且该框的左上边缘是它对齐的位置......这样,在2D和“等距”视图中,x和y坐标都是相同的。这可能是唯一可能的,因为我的游戏不是像之前所说的基于平铺的,所以基于平铺的游戏可能无法使用此“修复”

2 个答案:

答案 0 :(得分:3)

将所有内容粘贴在动画片段中,保持标准的笛卡尔坐标,并将容器动画片段旋转45度,高度的一半/宽度的两倍。

答案 1 :(得分:0)

从您的编辑看起来您解决了自己的问题,但在坐标系之间转换的最强大的方法(例如等距坐标)是使用矩阵变换:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html

您可能希望旋转和缩放矩阵,与旋转和缩放图形的方式相反。