AS3:容器,深度和墙壁?等距



我应该如何进行(等距游戏)使深度逻辑?

示例,如果农民在另一个农民之上(又称y的价值较低,但他更高),我将如何做到这一点,以使他看起来好像在他身下的农民后面?

墙壁也是如此。

我希望角色看起来像在墙后面...在墙后面...

,但如果它们在墙前,则在墙前。

等轴测视角使这对代码更加混乱

很好地比较我想要的就像较旧的Beatemup游戏(如TMNT),您可以在某种程度上向左和向右走(例如,在道路上)。在这些道路的中间,有时会有像桶这样的物体。您可以在其上方和后面,也可以在它的前面和前面。

或类似的东西http://www.maxdamage.org/wp-content/uploads/2012/10/tmnt02.jpeg

您看到4个字符。角色可以彼此面前(如果站在后面)。

我不确定ActionScript中不同的方式影响绘制元素的顺序。一个典型的想法是z索引,它告诉图形引擎首先要绘画。它可以通过MovieClip的ChildIndex在AS3中以某种方式进行模拟,请参阅flash中的对象(z)用ActionScript 3?。

中的对象顺序。

但另请参阅此http://oreilly.com/catalog/actscript/chapter/chapter/ch13.html#36994关于堆栈中的堆叠顺序和堆叠顺序和深度参数/www.matthijskamstra.nl/blog/index.php/2008/08/08/27/from-as2-to-po-as3-where-where-where-did-it-it-co-swapdepths/这些方法如何相关。


一个非常粗略的想法(如果可能的话)是拥有一系列的MovieClips或堆栈,它们充当图像的层,每一层大约一个瓷砖。然后分配对应于其y变量对应的对象和字符,并将层MovieClips作为父级MovieClip的孩子,并安排了ChildIndex,以使后面最大的层首先出现并首先绘制,而前层则是最后一层绘制的线。

移动字符时,如果y坐标从当前层的范围内变化,则将其重新分配至上方或下方的一层。

根据y坐标在同一层中排序对象。


也许仅根据y坐标将对象排序就足够了。多层可以通过排序较小的列表来加快事物的速度,但这在特定情况下也可能是错误的。

相关内容

  • 没有找到相关文章

最新更新