从DisplayObject中取出发光并将其放入另一个

时间:2011-10-18 14:59:05

标签: actionscript-3

我有一个DisplayObjects网格,当我对其中任何一个发光时,发光与其他对象重叠。

我想知道我是否可以接受DisplayObject创建的发光并将其放入另一个,所以我可以将它附加到所有对象后面的容器中?如果有人能提出更好的想法,那也会非常感激。

2 个答案:

答案 0 :(得分:0)

难道你不能只改变发光物体的索引以将它放在后面吗?

myItem.parent.setChildIndex(myItem, 0);

答案 1 :(得分:0)

Kodiak在这里有正确的想法,但听起来就像一旦你将光晕添加到它停留在那里的物体,你就不会将它移除。 (例如,你不做像鼠标悬停那样的事情 - >发光,鼠标移出 - >没有发光)你想要的东西如果我将鼠标悬停在它发光的物体上并且发光本身总是在其他显示物体后面。

这对我来说似乎很奇怪,但你可以创建一个网格的副本并将其置于顶级的网格之下,然后像......那样做一些......

public function test() {
            // constructor code

            primaryDisObj:Array() = new Array(primaryDO1, primaryDO2);// an array of the instances of the Display Objects on top
            secondaryDisObj:Array() = new Array(secondDO1, secondDO2);// an array of the instances of the Display Objects underneath the originals

            for(var i:uint = 0; i < primaryDisObj.length; i++){
                primaryDisObj[i].name = i;
                primaryDisObj[i].addEventListener(MouseEvent.MOUSE_OVER, overPrimary);
            }

        }

        private function overPrimary(e:MouseEvent):void{
            secondaryDisObj[e.target.name as uint).filters = [new GlowFilter(0xFF6699, .75, 25, 25, 2, 2, false, false)];//Or however you want you filer to look

        }

如果没有看到你的代码,就很难弄清楚你的目标是什么,但这是我能想到的最简单的方法。