2009-08-27 1 views
0

플렉스 앱에는 ButtonA와 ButtonB라는 두 개의 버튼이 있습니다. 사용자가 두 버튼 중 마우스 롤오버를 수행 할 때 두 버튼, 즉 버튼 A와 버튼 B에 롤오버 스킨 (overSkin)을 표시하고 싶습니다. 사용자버튼에서 마우스를 굴려서 펼치기

ButtonA.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER)); 

을 사용자가 버튼 BI에서 압연 할 때 다음을 수행하십시오 : 버튼 B를 통해 압연

ButtonA.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT)); 

버튼 내가 버튼 A를 동일한 작업을 수행 할 수없는 경우 IN/OUT 사용자 롤. 무한 루프가 발생하여 스택 오버플로가 발생합니다.

다른 방법이 있습니까?

답변

1

추가 변수를 사용하여 재귀를 명시 적으로 제어하십시오. 그런 다음 버튼 A에서 롤아웃 버튼 B의 뒤로 같은 일에

if(!rolledIntoButtons) { 
    rolledIntoButtons = true 
    ButtonB.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER)) 
} 

... : 버튼 A에서 롤오버의 경우 또한

if(rolledIntoButtons) { 
    rolledIntoButtons = false 
    ButtonB.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT)) 
} 

을, 그 버튼에 대한 설명서를 확인; 단추의 롤오버 상태를 직접 확인하여 추가 변수를 사용하지 않아도됩니다.