2013-05-23 2 views
0

Google을 검색했지만 아무 것도 검색하지 않았습니다. 나는 당신이 그것을 할 수 없거나 자식 기능 이외의 다른 방법으로 그것을 할 수 있다고 생각합니다.정면에 동적 텍스트 필드 가져 오기 (동영상 클립을 사용하지 않고)

내가 가진

같은 적의 상자 설정 -container --background --text -enemy 무비 클립 그래서 인스턴스 이름으로에서 텍스트 필드와 무비 클립 박스가

, 말하자면, textSpot. MovieClip이 아니라 일반적인 드래그 앤 드롭 텍스트 필드입니다. 재정렬은 고통이 될 것입니다. 적의 무비 클립을 추가 할 때 텍스트를 포함하는 것처럼 텍스트를 앞쪽으로 가져 오는 방법이 있는지 궁금합니다.

라이브러리에 존재하지 않는 인스턴스를 가져오고 인스턴스 이름 만 가져 오는 방법이 있습니까? 그렇지 않으면, 가능한 경우, 그냥 텍스트의 컨테이너를 만들고 일반 setChildIndex()를 사용하여 앞에 설정합니까?

감사합니다.

답변

1

엘리먼트를 주문할 수 있는지 여부에 영향을 미치지 않는 라이브러리의 요소입니다. 객체가 DisplayObject 인 경우 DisplayObjectContainer에 추가 할 수 있으므로 setChildIndex()의 대상이됩니다.

MovieClipTextField은 모두 DisplayObject이지만 MovieClip 만 DisplayObjectContainer입니다. 즉, MovieClips와 Textfields를 모두 자식으로 추가 할 수 있지만 MovieClip 만 자식을 포함 할 수 있습니다.

따라서 TextFieldsetChildIndex()을 사용할 수 있습니다. 당신이 지시 한 설정에서 그러나

, 텍스트컨테이너의 아이가 아닌 입니다. 그것은 문제가 될 것입니다. setChildIndex()은 동일한 상위 항목이있는 요소를 재정렬하는 데에만 사용할 수 있습니다. 그래서 위에 텍스트를 배치 할 수 있도록, 당신은 의 상단에 컨테이너을 배치 사실거야 ... 그리고 그 배경이 포함되어 있습니다. 텍스트를 원수 위에 놓으려면 그럴 가능성이 있습니다 (예를 들어) 설정과 함께 컨테이너 밖으로 이동해야합니다.

stage 
    foregroundLayer <== a MovieClip on top of the "scene", that contains the Texts 
    text1 
    text2 
    enemyLayer <== a MovieClip that contains all the enemies. 
    enemy1 
    enemy2 
    backgroundLayer <== Your actual "container" 
    background 
+0

감사합니다. 이것으로 콘테이너 클립의 앞에 텍스트를 가져올 수있었습니다. enemyButton [i] .setChildIndex (enemyButton [i] .getChildByName ("enemyName"), enemyButton [i] .numChildren-1); –

관련 문제