2011-11-02 66 views
0

我有一些MC存储在一个数组中。我把mc放在舞台上,我希望当我点击其中的一个时,这个应该在前景中,其他人在后台。 我该怎么做parentig?电影剪辑育儿ActionScript 3

谢谢您的时间

+0

查看你最近的7个问题,我觉得我有足够的信息来构建你正在尝试制作的应用程序并将其提供给你...你自己尝试过什么代码来完成这个任务? –

+0

:))我想创建一个益智游戏,只是为了提高我在AS3的知识,因为我在4周前开始学习AS3。 我必须做出养育孩子和游戏的解决方案,就像所有的拼图都按正确的顺序排列,而不是显示洞图。 你能帮助我吗? 谢谢 – CMS

回答

1

如果所有的MC是在同一容器中,即另一个影片剪辑/雪碧,你可以更新的“单击mc”子索引或只是将它添加到容器再次。

这将是您的单击处理程序:

function clickHandler(e:MouseEvent):void { 
    //addChild puts the target clip on the top of the display list 
    e.target.parent.addChild(e.target); 
} 

这将是清洁其实例名称引用容器(如container.addChild())而不是使用e.target.parent。如果您使用“e.target”,请确保MC中的'mouseChildren'属性为'false'。

如果你喜欢设置单击mc的子指标,你会做这样的事情:

function clickHandler(e:MouseEvent):void { 
    // setting the child index to 0 puts the MC at the top of the list 
    container.setChildIndex(e.target, 0); 
} 

同样,你用“e.target”确保“mouseChildren”任何时候都是虚假的或否则,鼠标焦点实际上可以点击你的“点击mc”内的显示对象。

+0

另外,在你的情况下,'容器'将是'舞台'。我建议将这些放入另一个MovieClip或Sprite中,并将该容器添加到舞台上。通过这种方式,您可以将其他元素添加到舞台上,并将注意力集中在容器中的MC上。 – Corey

+0

非常好,工作! 你能解释一下如何去除育儿吗? – CMS

+0

你是什么意思的“删除养育子女”?无法删除父母。你只能删除孩子。 'removeChild'方法会将'parent'属性设置为'null'。 – Corey