我想知道如何检测实例位于哪个图层上。例如,我在第一层上放了一个名为bob的圆,在第二层上放了一个名为test的方形。在actionscript中,我可以检测到哪个层是测试的。
我想使用这个,因为在我的游戏中,我将把所有非固体对象放在第一层,所有固体对象放在第二层,我想在actionscript中检测哪些实例位于哪些层
答案 0 :(得分:2)
在动作3中没有层数这样的东西。在实际进行SWF编译之前,Flash IDE用户只能方便地对某些元素进行分组。在编译时,根据层的层次结构将所有对象添加到stage
,但它们都属于具有不同stage
属性的同一childIndex
对象。
要在actionscript 3中使用图层的概念,您应该将实体对象添加到Sprite
或MovieClip
,然后检查相关实例是否属于实体对象,如下所示: / p>
var solidContainer:Sprite = new Sprite();
this.addChild(solidContainer);
solidContainer.addChild(someSolidObject);
var nonSolidContainer:Sprite = new Sprite();
this.addChild(nonSolidContainer);
nonSolidContainer.addChild(someNonSolidObject);
function isSolid(object:DisplayObject):Boolean {
if (solidContainer.contains(object)) {
return true;
} else {
return false;
}
}
isSolid(someNonSolidObject); // returns false