4

我一直在开发一个涉及等距空间的 Flash 游戏。我已经使用as3isolib了一段时间了,我对它的易用性印象不深。无论我是以错误的方式接近它还是它使用起来不是很好,这是另一个帖子的问题。

无论如何,我一直在想一种不同的方法来解决等距位置的问题,我想我有一个可行的想法。本质上,要渲染到等空间的每个对象都保持一个 3 坐标位置。然后,这些项目将使用相机注册,该相机根据此 Wikipedia 文章中的数学计算将该 3 坐标位置投影到屏幕上的 2 坐标点。然后,MovieClip 在该点被添加到舞台(或者可能是相机的 MovieClip),并在该点的 y 值的子索引处。这样,我认为离相机更近的对象将在更远的对象“上方”,并将在它们上方渲染。

所以我的问题有两个:

  1. 你认为这个想法会像我想象的那样奏效吗?

  2. 我应该查看任何现有的 3D 矩阵/矢量包吗?我知道 Flex 3 中有一个 Matrix3 类,但我们没有在这个游戏中使用 Flex。

谢谢!

4

4 回答 4

2

嗨 Tedw4rd 和任何其他潜在的 as3isolib 用户

我是 as3isolib.v1 的开发者(目前正在开发 v2)。抱歉,这个回复太晚了,但我认为看到开发人员的回复会有所帮助。

是的 as3isolib.v1 有点慢,并且缺乏了解如何实现它以获得最佳性能。如果您有机会仍在尝试使用该库,有一个官方用户组,我尝试解决每个问题http://bit.ly/jTlf18

了解如何构建您的 iso 世界是从 v1 引擎中获得最佳性能的关键。

于 2011-12-29T21:13:04.030 回答
2

您可以使用其他 3D 库(例如 Papervision3D 和 Away3D)来实现相同的目的。您需要做的就是将正交镜头应用于相机。

请参阅 此处的文档教程

于 2011-05-15T04:51:13.160 回答
0

将视图旋转 45 度并应用 0.5 y 比例。这使 Flash 为您计算。那么你只需要解决深度问题。为此,我建议您阅读内容。

于 2010-06-18T18:50:33.347 回答
0

我不确定您到底要完成什么,但是是的,您使用 y 值来确定 z 深度的想法会奏效。

要回答您的第二个问题,这里有一个链接,可以为您提供其他 AS3 Isometric 软件包的一些选项。这家伙是一个伟大的开发者。

http://www.emanueleferonato.com/2010/02/23/11-flash-isometric-engines-you-can-use-in-your-games/

于 2011-06-18T05:17:22.333 回答