2009-11-12 4 views
3

3 개의 스프라이트가 있습니다 : img1spr, img2spr 및 img3spr. 모든 스프라이트에는 몇 가지 비트 맵이 있습니다. 모든 스프라이트는 이름을 가지고 있다는 것을 의미AS3 - 이름으로 이름을 바꾼 다음 깊이로

getChildByName("name1").getChildAt(0) 

: 지금 이름은 모든 함수가 실행 시간과 내가 같은 일을 할 수있는 방법이 있는지 알고 싶어를 변경하는

img1spr.name=name1; 
img2spr.name=name2; 
img3spr.name=name3; 

name1이라는 스프라이트를 찾은 다음 그 안의 첫 번째 자식을 찾거나 numChildren을 사용하여 name1 내부의 요소 수를 계산하려고합니다.

이 방법이 있습니까? 당신이 있는지 확인하면 것을해야 getChildByNameDisplayObject 반환하고 당신은 당신이 사이에 스프라이트의 이름을 변경하는 경우 getChildByNamenumChildren

trace(DisplayObjectContainer(getChildByName("name1")).numChildren); 
DisplayObjectContainer(getChildByName("name1")).getChildAt(0); 

전화를 DisplayObjectContainer에 캐스팅해야 -

답변

4

당신은 거의 다 있습니다 부모의 하위 목록에있는 두 객체에 같은 이름을 지정하지 마십시오 (플래시에서는 허용됨). getChildByName은 주어진 이름의 첫 번째 자식을 반환하기 때문에 - 찾고있는 자식이거나 그렇지 않은 자식 일 수 있습니다.

+0

훌륭합니다. 고마워요 :) – slacky

+0

내가 그 perticular 자식을 사용해야 할 경우 x 값을 변경해야한다고 말할 수 있습니까? –

+0

@Fahim'getChildByName ("thename"). x = 20; ' – Amarghosh

관련 문제