2013-02-13 3 views
-1

무대에 나타나려면이 두 항목이 내 배열에 있어야합니다. 지금은 이것들이 배열의 모든 항목입니다. 질문은 배열을 사용하여 스테이지에이 두 객체를 추가하는 방법입니다. 그것은 나에게 오류를주고있다이와 현재arryas actionscript에 addChild() 추가 3

for (var b:int = 0; b < csa.length; b++) 
{ 
    addChild(csa[1]); 
    addChild(csa[2]); 
    csa[1].x = 27; 
    csa[1].y = 214; 
    csa[2].x = 9; 
    csa[2].y = 833; 
} 

:

TypeError: Error #2007: Parameter child must be non-null. at flash.display::DisplayObjectContainer/addChild() at SkoolBook_fla::MainTimeline/frame26()[SkoolBook_fla.MainTimeline::frame26:10]

답변

1

배열 인덱스가없는 한에서, 0에서 시작합니다. 따라서 csa에 유효한 항목이 두 개있는 경우 유효한 요소는 csa[0]csa[1]입니다. csa[2]은 유효하지 않습니다. 1,2 대신 1, 2를 인덱스로 사용해야합니다. addChild이 정의되지 않은 요소 (csa[2])와 함께 호출되면 오류가 발생합니다.

오류와 관련없는 쪽지 : - 두 요소를 직접 액세스 할 때 루프를 사용할 이유가 없습니다.

+0

heeh yah 나는 아직도 프로그래밍 구조에 대해 배우려고 노력하고있다 : p 그러나 이것들은 내가 접근 할 필요가있는 원래의 선택이었다 ... 이것은 내가 아는 유일한 방법이었다. 루프없이 반복문을 말할 수 있습니까? – tailedmouse

+1

'csa [0]','csa [1]'을 직접 사용할 때 루프가 필요 없습니다. 루프 인덱스'b'를 사용하고 있지 않습니다. loop를 사용한다면 루프 안에서 직접 두 요소에 접근하는 대신'csa [b]'를 사용해야합니다. – taskinoor

+0

아, 정말 고맙습니다. 대신 그랬습니다 : D – tailedmouse

관련 문제