2016-06-23 6 views
0

나는 작은 게임을하고있다. 따라서 메인 타임 라인에 4 개의 레이어가 필요합니다. 아래쪽 레이어에는 동영상 클립이 포함되어 있습니다. 위의 두 레이어에는 효과 및 액션을위한 영화 클립이 있으며 맨 위에있는 레이어는 actionscript 용입니다. 레이어의 시퀀스가 ​​의도됩니다.액션 스크립트 3 : 버튼이 항상 위에 있습니까?

그리고 테스트 할 때 어떤 버튼도 클릭 할 수 없습니다. 확실히 위에 영화 클립이 있기 때문입니다. actionscript에서 모든 버튼이 항상 위에 있다는 가능성이 있습니까?

답변

0

당신은 또한 새로운의 DisplayObject가/DisplayObjectContainer와 당신의 버튼 중 하나 이상 추가 될 때마다하면 addChild 전화를 걸 수 있도록 매우 높은 인덱스를 설정

귀하의 버튼은이 같은 벡터에 저장되어있는 경우 :

var buttons:Vector.<SimpleButton> = new Vector.<SimpleButton>(); 

당신은 setButtonsOnTop

같은 기능을했습니다

단추 위에 무엇인가가 추가되면 함수를 호출하십시오. 이런 식으로 그래서

function removeButtons():void{ 
    for(var i:uint=0;i<buttons.length;i++){ 
     removeChild(buttons[i]); 
    } 
} 

:

setButtonsOnTop(); 

그래서 버튼은

는 "removeButtons"방법을 추가하여이 작업을 수행 할 수있는 버튼을 제거하려면 ... 다른의 DisplayObject 위에 항상 색인 값에 대해 신경 쓸 필요가 없습니다.

+0

이 경우 AMO ... addChild (myButton)에 대한 호출이 필요합니다. – tatactic

+0

event.ADDED가 트리거 될 때 setButtonsOnTop() 메서드를 호출 할 수도 있습니다. – tatactic

+0

훌륭한 사운드입니다. 고맙습니다, tatactic, 나는이 일을하려고 노력할 것입니다. – 3iskalt

2

parent.setChildIndex (childObject, i)를 설정하여 z- 색인을 변경할 수 있습니다. ...는 항상 최고

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/all-index-Z.html

+0

고마워요! Z- 인덱스를 변경하려고합니다. – 3iskalt

+1

그래도 조심해! 타임 라인에서 시작된 객체의 패밀리 (setChildIndex/AddChild/AddChildAt)를 조작하면 해당 객체는 더 이상 타임 라인의 영향을받지 않습니다. 부모 타임 라인이 제거되거나'removeChild '를 사용하여 명시 적으로 제거 될 때까지 화면에 남아 있습니다. 키 프레임은 키 프레임을 제거하지 않습니다. – BadFeelingAboutThis

+0

왜 Z- 색인을 변경 하시겠습니까? addChild 메서드를 다시 사용하면 인덱스를 신경 쓸 필요가 없습니다. numChildren 속성을 테스트하지 않아도됩니다. – tatactic