我无法找到答案,我希望这是一个简单而明显的答案我还没有找到......
在flex(即使用actionscript和mxml)中,给定两个Sprite,有没有办法强制一个在重叠时显示在另一个上面?
谢谢!
答案 0 :(得分:3)
是的,这一切都取决于它们在显示列表中的位置。
所以在这个示例中,剪辑2位于顶部
var container : Sprite = new Sprite();
var clip1 : Sprite = new Sprite();
var clip2 : Sprite = new Sprite();
container.addChild(clip1);
container.addChild(clip2);
并且在此示例中,剪辑1位于顶部
var container : Sprite = new Sprite();
var clip1 : Sprite = new Sprite();
var clip2 : Sprite = new Sprite();
container.addChild(clip2);
container.addChild(clip1);
把它想象成一大堆旧牌。从中间取一个并将其放在顶部,这就是你将看到的那个。
答案 1 :(得分:0)
假设:两个对象要么一起位于舞台上,要么位于同一个DisplayObject中。
private function checkOverlap(obj1:Sprite, obj2:Sprite):void {
//Forces obj1 to appear on top of obj2
if (obj1.parent.getChildIndex(obj1) < obj2.parent.getChildIndex(obj2)) {
obj1.parent.swapChildren(obj1, obj2);
}
}