2012-08-16 3 views
1

여러 가지 직사각형이있는 플래시 전문가에서 .fla를 만들었습니다. 각 사각형은 다른 색상이며 별도의 무비 클립입니다. 그런 다음 무비 클립 (RectContainer)에 내부에있는 모든 사각형이 포함되어 있고 플래시 빌더에서이 컨테이너 클래스의 인스턴스를 만들 수 있도록 'AS Linkage'를 추가했습니다 (.swc로 내 보낸 후). .플래시에서 movieClip에 변수를 추가하여 플래시 빌더에서 사용

내 질문은 여기 있습니다. 각 사각형에 변수를 추가하고 Flash Builder에서이 값을 읽을 수있는 방법은 무엇입니까?

예를 들어, 나는 단어 "빨간색", "블루"등 푸른 사각형과 빨간 사각형에 문자열 변수를 추가 할 그때 때, 사각형에 청취자를 추가 할

클릭하면 클릭 한 사각형의 색상 문자열을 얻을 수 있습니다.

for (var i:int = 0; i < rectContainer.numChildren; i++) { 
    rectContainer.getChildAt(i).addEventListener(MouseEvent.MOUSE_DOWN, fl_Click); 
} 

function fl_click(event:MouseEvent):void 
{ 
    event.currentTarget. ??? 
} 

답변

0

당신은 당신의 사각형에서 상속 할 수있는 사용자 정의 클래스를 만드는 (또는 사용자 정의 클래스에 사각형을 그리고 전부 .FLA을 포기)해야한다. 그런 다음 원하는 값을 유지할 수있는 공용 속성을 제공하고 색상 레이블을 사용하여 무언가를 수행하는 클릭 핸들러와 같은 일반적인 기능을 생성 할 수 있습니다.

플래시 IDE에서 기호 속성의 경우 사용자 정의 클래스를 기본 클래스로 지정하십시오.

1

먼저 플래시에서 이미지와 비슷한 이름을 설정해야합니다.

enter image description here

당신은 같은 다음에 액세스 할 수 있습니다.

잠재적 위험이 있으므로 currentTarget을 사용하지 마십시오. 자식 개체가 겹치는 경우 기대치가 다를 수 있습니다. 자세한 정보는 Google에 문의하십시오.

정확히 targetcurrentTarget의 차이점을 알아야합니다. 이것은 매우 중요한 개념입니다.

enter image description here


public function Constructor() 
{ 
    var container:RectContainer = new RectContainer(); 
    this.addEvent(container); 
    var i:int = 0; 
    while(i<container.numChildren) 
    { 
     container.addEventListener(MouseEvent.CLICK, onClick); 
     i++; 
    } 
} 

private function onClick(e:MouseEvent):void 
{ 
    var mc:MovieClip = e.target as MovieClip; 

    if(mc.name == "myCircle1") 
    { 

    } 
    else if(mc.name == "myCircle2") 
    { 

    } 
    else if(mc.name == "myCircle3") 
    { 

    } 

    trace(mc.name); 
} 
관련 문제