Actionscript 3 如何检测某物位于哪一层
我想知道如何检测实例位于哪一层。例如,我在第一层放了一个名为bob的圆圈,在第二层放了一个名为test的正方形。在actionscript中,我可以检测在哪一层上进行测试Actionscript 3 如何检测某物位于哪一层,actionscript-3,actionscript,layer,Actionscript 3,Actionscript,Layer,我想知道如何检测实例位于哪一层。例如,我在第一层放了一个名为bob的圆圈,在第二层放了一个名为test的正方形。在actionscript中,我可以检测在哪一层上进行测试 我想使用它,因为在我的游戏中,我将把所有非实体对象放在第一层,所有实体对象放在第二层,我想在actionscript中检测哪些实例位于哪些层中在actionscript 3中没有层这样的东西。对于flashide用户来说,在实际进行SWF编译之前,对某些元素进行分组只是一种方便。在编译时,根据层的层次结构将所有对象添加到阶段,
我想使用它,因为在我的游戏中,我将把所有非实体对象放在第一层,所有实体对象放在第二层,我想在actionscript中检测哪些实例位于哪些层中在actionscript 3中没有层这样的东西。对于flashide用户来说,在实际进行SWF编译之前,对某些元素进行分组只是一种方便。在编译时,根据层的层次结构将所有对象添加到
阶段
,但它们都属于具有不同childIndex
属性的相同阶段
对象。
要在actionscript 3中使用层的概念,您应该将实体对象添加到Sprite
或MovieClip
中,然后检查相关实例是否属于实体对象,如下所示:
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
我相信在ActionScript中,Flash创作工具中没有层的概念,不同的层被代码简单地解释为舞台子级的顺序。我已经很长时间没有使用Flash创作工具了,所以我不记得了。