2013-12-10 1 views
0

라이브러리에서 무비 클립을로드하는 데 사용되는 콤보 상자가 있습니다. 문제는 영화 클립이 흰색 배경이므로 무대에 추가 될 때 콤보 상자를 덮는 것입니다. 콤보 상자를 무비 클립 앞에 어떻게 유지합니까? 도움을 주셔서 미리 감사드립니다.무비 클립 앞에서 구성 요소 유지 - 액션 스크립트

import fl.controls.ComboBox; 
import fl.data.DataProvider; 
import flash.display.*; 
//import flash.net.navigateToURL; 
var helpItems:Array = new Array( 
    {label:"Overview", data:"p1"}, 
    {label:"Operation", data:"p2"}, 
    {label:"Component Menu", data:"p3"}, 
    {label:"Buttons", data:"p4"}, 
    {label:"Meter Function", data:"p5"}, 
    {label:"Pull Down Menus", data:"p6"}, 
    {label:"Browse and Navigation", data:"p7"} 
); 

var myCB:ComboBox = new ComboBox(); 
myCB.dropdownWidth = 150; 
myCB.width = 130; 
myCB.move(1.35, 1.35); 
myCB.prompt = "Select a Menu Item"; 
myCB.dataProvider = new DataProvider(helpItems); 
myCB.addEventListener(Event.CHANGE, changeHandler); 

addChild(myCB); 

function changeHandler(event:Event):void 
{ 
    var libraryItem:Class = getDefinitionByName(String(ComboBox(event.target).selectedItem.data)) as Class; 
    var helpMov:MovieClip = new libraryItem() as MovieClip; 
    helpMov.name = String(ComboBox(event.target).selectedItem.data); 
    trace(ComboBox(event.target).selectedItem.data); 
    helpMov.x = 0; 
    helpMov.y = 0; 
    addChild(helpMov); 
} 

답변

0

당신은 addChildAt(helpMov, this.numChildren - 2) 대신 addChild(helpMov) 방법 을 사용해야합니다.

addChildAt() 메서드에서 현재 무비 클립에있는 모든 자식 무비 클립의 반환 개수가 numChildren 인 자식 무비 클립의 현재 개수를 가져옵니다. 무비 클립에서 자식 클립은 인덱스 (0으로 시작)로 배치됩니다. 색인이 가장 큰 동영상 클립이 다른 동영상 클립 위에 놓입니다. addChild() 메서드를 사용하여 자식을 추가하면 +1에 가장 큰 현재 인덱스가 적용됩니다. 따라서 콤보 박스를 항상 위에 두려면 새로운 어린이에게 항상 새로운 색인을 줄여야합니다. 가장 큰 지수는 항상 numChildren - 1입니다.

+0

빠른 응답을 보내 주셔서 감사합니다. – brianh

관련 문제