2009-08-26 4 views
0

저는 Flex에서 초보자이며 가장 힘든 시간을 보내고 Effects로 작업하고 있습니다.Flex에서 경쟁 효과를 처리하는 방법은 무엇입니까?

지금은 경쟁 효과를 다룰 때 직면하는 문제를 다루고 있습니다.

다음 코드를 살펴보십시오. 이것은 기본적으로 버튼을 보여줍니다

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="400"> 

    <mx:Script> 
     <![CDATA[ 
      private function showmenu():void 
      {Menu.visible= true; 
      } 
      private function hidemenu():void 
      {Menu.visible= false; 
      } 
     ]]> 
    </mx:Script> 

    <mx:WipeDown id="wipedown" duration="900"/> 
    <mx:WipeUp id="wipeUp" duration="900" /> 



<mx:Canvas id="main" width="400" height="400" 
    rollOver="showmenu();" rollOut="hidemenu();"> 
    <mx:Button label="Show Menu" 
     x="100" y="20"> 
     </mx:Button> 

     <mx:Canvas id="Menu" visible="false" 
     width="100" height="200" 
     backgroundColor="#B8B8B8" x="96" y="35" 
     showEffect="{wipedown}" hideEffect="{wipeUp}"> 

     </mx:Canvas> 

</mx:Canvas>  



</mx:Application> 

때, 그리고 당신이 정렬 될 것입니다 버튼, 다른 캔버스에 이월 : 나는 기본적으로 내가 직면하고있어 문제를 보여줍니다 짧은 재현 테스트 샘플을 만들었습니다 메뉴가 표시됩니다. 롤아웃하면 메뉴가 사라집니다.

메뉴에는 몇 가지 효과가 있으며, 다른 효과가 끝나기 전에 하나의 효과를 시작하려고하면 무한 루프가됩니다.

내가 다시 롤오버 버튼을 누른 다음 출시 다음 신속하게 롤오버에 대해 이야기하고 무엇을 재현합니다. 메뉴 효과가 반복적으로 들러 붙는 것을 볼 수 있습니다.

이 코드는 어떻게 작성합니까?

+0

메모에 더 적은 것이 더 있습니다. 디자인 관점에서 볼 때, 당신이 할 수 있다고해서 그것이 당신이해야한다는 것을 의미하지는 않습니다. 멋진 효과는 훌륭하고 제품을 차별화하는 방법으로 작용하지만, 너무 산만하거나이 경우 문제가되는 경우 기능에 더 집중하고 환상적으로는 효과를주지 않는 것이 좋습니다. –

답변

0

이벤트를 재생할 때 문제가 발생하면 EffectEvent.EFFECT_START 수신기를 이벤트에 추가하고 이벤트를 사용하여 재생 이벤트를 중지하십시오. 예 :

function _handleEffectStart(e:EffectEvent):void { 
    if(e.target == wipedown) { 
    wipeup.stop(); 
    } else { 
    wipedown.stop(); 
    } 
} 

또는 이와 비슷한 것입니다.

+0

나는 당신이 제안한 것과 비슷한 일을했다. –

0

문제점을 재현 할 수 없습니다. 언제 어디서나 마우스를 움직이거나 움직일 때 루프에 빠지지 않습니다. Flex 3.2를 사용하고 있습니다. 어쩌면 당신이 사용하는 버전에 따라 달라질 수 있습니까?

Btw, 귀하의 코드가 귀하의 설명과 완전히 일치하지 않습니다. 캔버스에 rollOver 및 rollOut 이벤트가 있습니다. 여기에는 표시 및 숨길 캔버스가 포함되어 있습니다. 그냥 추측 할 수는 있겠지만, 그 효과 자체가 실제로 마우스가 캔버스 위 또는 안쪽으로 더 이상 움직이지 않아서 rollOver/rollOut이 트리거되어 다시 마우스가 안으로/밖으로 움직이는 원인이 될 것이라고 상상할 수 있습니다 ... 무한합니다 겪고있는 루프?

관련 문제