【问题标题】:AS3 - Setting layer above parent ObjectAS3 - 在父对象之上设置层
【发布时间】:2016-07-05 20:52:53
【问题描述】:

是否可以在舞台上方设置作为舞台子级的对象的子级的可见性?

例如,如果主世界是舞台的子级,而玩家角色也是舞台的子级,那么玩家角色是否可以在主世界的某些部分(例如树木)后面行走?

【问题讨论】:

  • 不可能。控制显示深度的唯一方法是调整显示列表顺序。您总是将所有对象放在同一个父对象中,并使用您自己的排序算法来控制随时间变化的深度外观。

标签: actionscript-3 flash stage addchild displayobject


【解决方案1】:

你可以使用:

parent.setChildIndex(Overworld, 1)
parent.setChildIndex(PlayerCharacter , 2)

如果对象的深度(z 顺序)是恒定的,我建议使用图层。在舞台上添加三个精灵。像背景、游戏对象和前景。省去了很多麻烦。

public Sprite foregroundLayer = new Sprite();
public Sprite objectLayer = new Sprite();
public Sprite backgroundLayer = new Sprite();

将它们按所需顺序添加到游戏初始化阶段。

【讨论】:

  • 我也想过这个问题,但问题是应该在前景的部分被动态放置在主世界上,而主世界自动必须位于玩家后面的图层上。例如,放置在主世界上的树木有两部分,一个是玩家可以在前面的底部,另一个是在玩家面前的顶部。因此,如果不将树的顶部与底部完全分开,我认为这是行不通的。但是我在这么多的Flash游戏中看到了这个功能,必须有一个解决方案。另外,为什么是“parent.”setChild?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
  • 1970-01-01
  • 2016-08-22
  • 2016-03-04
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
相关资源
最近更新 更多