2012-08-25 4 views
0

버튼에 스킨이 있습니다. 스킨에는 이미지와 레이블이 있습니다. 제 질문은 레이블의 값을 전달하여 배열에 놓고 (클릭 할 때) 값을 제거하는 방법입니다 (다시 클릭 할 때)?스킨의 값을 배열로 전달

+0

'라벨의 가치'는 '텍스트'속성을 의미합니까? – RIAstar

+0

예, 텍스트 속성입니다. 나는 피부에서 라벨의 "텍스트"속성을 얻는 방법을 모른다. – Mirage01

답변

0

Button의 스킨에있는 Label의 text 속성은 실제로 Button의 label 속성의 정확한 미러입니다. Button의 label을 설정하면 Label의 text이 자동으로 설정됩니다. 그리고 재산을 얻기위한 다른 방법.

그래서 더 구체적으로 귀하의 질문에 대답하기 :

<s:Button label="hello" click="addOrRemove(event.currentTarget as Button)" /> 

합니다.

private var myArray:Array = []; 

private function addOrRemove(button:Button):void { 
    var label:String = button.label; 
    var index:int = myArray.indexOf(label); 

    if (index == -1) myArray.push(label); 
    else myArray.splice(index, 1); 
} 
+0

실제로 레이블에있는 텍스트를 무작위로 추출하는 코드가 있습니다. public function randomNumber (최소 : 최대, 최대) : 숫자 { var 결과 : Number = Math.random() * max) + 분; 반환 결과; } 레이블의 텍스트 속성에서 전달합니다. 레이블 포함 ="사용 안 함, 아래로, 위로, "horizontalCenter ="0 "text ="{randomNumber (1,10)} "verticalCenter ="0 "/> I 버튼의 스킨을 지정하고 버튼의 레이블을 추적 할 때 레이블이 없습니다. – Mirage01

+2

앞으로 해당 종류의 관련 정보를 제공해주십시오. 또한, 당신은 이것을해서는 안됩니다 : 당신은 스킨에 논리를 넣고 있습니다. 논리적 인 결과는 호스트 구성 요소에서 특성에 액세스 할 수 없다는 것입니다. 따라서 무작위 추출 로직을 스킨에서 꺼내 Button의 'label'속성에 적용하십시오. – RIAstar

+0

버튼의 라벨 속성을 임의로 지정하려고했습니다. 표시됩니다. 하지만 버튼에 스킨을 삽입하면 텍스트가 사라집니다. 그래서 텍스트가 표시되도록 스킨 안에 레이블을 만들었습니다. 스킨의 레이블 값을 버튼의 label 속성에 전달할 수 있습니까? – Mirage01