2009-11-17 1 views
2

아주 기본적인 질문 여기에 코드를 통해 모양을 삭제,하지만 여전히 나에게 혼란 조금 있어요 ..

내가 객체 (탐색 메뉴 바)가 내가 그렇게, 코드에 색상을 변경하려면 그 updateColor 함수를 사용하면 객체 (movieclip에 포함 된 드로잉 모양)의 경계를 얻고 그 위에 새로운 색상으로 새 모양을 다시 그리지 만 마지막 모양이이 다시 그리기 뒤에 여전히 있음을 알았습니다.

다시 그리기 전에 obj.graphics.clear();을 사용했지만 원본 모양을 제거하지 못했습니다. 내가 바라 보는 다른 명령이 있습니까?

답변

0

동일한 그래픽 객체 내에서 제거 할 객체를 그린 경우가 아니면 지우기가 작동하지 않습니다. DisplayObject를 제거해야합니다.

아이의 수에 따라 수행 할 수 있습니다 :

obj.removeChildAt(0); 

이것은 또한 동영상 클립/수동 스테이지에 배치 버튼을 제거합니다.

import flash.geom.ColorTransform; 
... 
public var test:MovieClip; //instance on stage 
... 

var cf:ColorTransform = test.transform.colorTransform; 
cf.color = 0xff0000; 
test.transform.colorTransform = cf; 
0
while(this.numChildren) 
{ 
    this.removeChildAt(0); 
} 

가 아이를 지우 것이다 : 당신은 당신이 제거하려는으로 DisplayObject에 대한 참조가있는 경우 당신은 단순히 당신은 또한 직접 DisplayObject의 색상을 변경할 수 있습니다

obj.removeChild(backgroundClip); 

참고 할 수 있습니다 이 MovieClip의 객체 인 이 너무 많이 지워진 경우 모양을 하위 클립에 넣고 하위 클립을 지 웁니다.