Actionscript 3 在Flash中分层对象

Actionscript 3 在Flash中分层对象,actionscript-3,flash-cs6,Actionscript 3,Flash Cs6,我想知道在Flash中改变对象分层的最佳方法是什么?我的项目主要由一些小的电影片段组成。我想更好地将我的对象组织到层中,这样一组movieclips就可以在给定的时间显示在另一组movieclips之上,而不会产生任何冲突。任何关于最好的方法的建议都会很好 编辑:获取以下错误: import flash.display.MovieClip; import flash.display.Sprite; import flash.display.DisplayObject; import flash.

我想知道在Flash中改变对象分层的最佳方法是什么?我的项目主要由一些小的电影片段组成。我想更好地将我的对象组织到层中,这样一组movieclips就可以在给定的时间显示在另一组movieclips之上,而不会产生任何冲突。任何关于最好的方法的建议都会很好

编辑:获取以下错误:

import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.events.Event;
import flash.events.MouseEvent;

var backgroundLayer:Sprite = new Sprite;
backgroundLayer.name = "backgroundLayer";

var gameLayer:Sprite = new Sprite;
gameLayer.name = "gameLayer";

var menuLayer:Sprite = new Sprite;
menuLayer.name = "menuLayer";

public function Main()
{
    addChild(backgroundLayer);
    addChild(gameLayer);
    addChild(menuLayer);
错误包括:

1120: Access of undefined property backgroundLayer.
1120: Access of undefined property gameLayer.
1120: Access of undefined property menuLayer.

谢谢。

实现这一点最简单的方法可能是建立s或其子类的层次结构。(
Sprite
MovieClip
,等等)一旦这些元素以正确的顺序添加到舞台上,这些容器的任何子元素都将“位于”容器层内

要在代码中的这些层之间移动对象,只需
oldLayer.removeChild(thing);newLayer.addChild(thing)


这是否是实现这一点的“最佳”方法取决于您正在做什么,但这是我在过去完成游戏对象分层的一种方法。

-这个答案应该会帮助您。谢谢。我在尝试将层声明为变量时出错。更新的问题显示了这一点。您不能在声明中定义这些层的名称,请将名称分配放在构造函数中。还有,你为什么要给他们命名?你可以使用一个名为menuLayer的变量。这段代码是在时间轴上还是在类上?我只是给你一些基本概念,以及一些示例代码。你改变了它,所以你有错误。您创建了一个“新”问题。如果您不能应用这些概念,最好退一步,进一步了解类的显示列表和结构。代码在类中。本质上,我想找出在没有其他对象妨碍的情况下显示菜单的最佳方式(这个游戏是一个随机生成UFO的游戏,你必须点击它们才能射杀它们并得分)但是,由于我在游戏中有计时器和其他东西,UFO不断地重叠菜单并在其顶部显示。我游戏中的大多数对象都是movieclips,所以在制作DisplayObjectContainer的层次结构时,我应该使用MovieClip子类还是不重要?如果一个类从
DisplayObjectContainer
任何位置继承这条链就是说,它可以包含其他的
DisplayObject
s。所以,是的,你可以使用一个叫做“游戏玩家”的MovieClip,或者你可以把你的不明飞行物添加到它上面的东西。