gpt4 book ai didi

actionscript-3 - 大物体的等距深度排序问题

转载 作者:行者123 更新时间:2023-12-04 06:43:16 25 4
gpt4 key购买 nike

我目前正在构建一个 as3 等距游戏,但我在深度排序方面遇到了很多问题。我已经搜索了解决方案,但没有找到与我的问题匹配的任何内容(矩形对象)。

这是我的游戏截图:

enter image description here

如您所见,深度排序在 1x1 平铺对象之间时效果很好。我只是使用它们的 x 和 y 坐标(相对于等轴测图)对它们进行排序。

当我有更大的物体时,问题就出现了,比如 2x2 或 1x4 或 4x1。

知道我应该如何处理深度排序吗?

最佳答案

我认为不可能根据每个对象的单个 x,y 值对场景进行排序,如果其中一些对象的长度足够长end 应该与另一个不同的深度。例如,考虑一下如果图片中的棕色椅子向左下方移动了一个正方形(到蓝色椅子和长沙发之间的正方形),您将如何处理渲染。它在场景中会比沙发后面的红色 table 更深,但需要在沙发顶部渲染,而沙发需要在 table 顶部。

我认为有两个简单的解决方案:

  • 设计您的关卡只对大型对象使用一种重叠。为了例如,您可以指定对象的深度基于其最近的角落,这需要你避免把东西放进去它最远的位的前面(因为它将在它们之上渲染)。或者你可以坚持使用你当前的代码(这似乎使用最远的角落以获得深度)并避免将任何东西放在后面较近的部分。您可能仍然遇到字符和其他问题移动的物体。你也许可以使如果你对你的设计很小心,那么麻烦的瓷砖就无法进入,但在某些情况下,这可能过于严格。
  • 把你的大对象分解成更小的对象这将有自己的深度。你可能想向右走小到 1x1 件,每件都有明确的深度。你可能会选择将代码中较大的对象保持为不可见小块的容器,或者它们可以被淘汰完全,无论哪个使您更容易加载和启用与各个位的交互。

将较大的对象拆分为 1x1 大小的 block 也很不错,因为您可以将它们模块化。也就是说,您可以通过将 1x1 block 以不同的组合组合在一起来构建不同大小的对象。例如,如果您将图像中的 2x1 表格垂直切成两半,并创建一个适合它们之间的 1x1 中间平铺,您可以将设计拉伸(stretch)到 3x110x1,具体取决于您重复中间图 block 的次数。还有很多其他方法可以让平铺图形看起来不错,只需要少量的艺术。

关于actionscript-3 - 大物体的等距深度排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11166667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com