Apache flex 如何处理Flex中的竞争效应?
我是Flex的初学者,在处理特效方面最困难 现在我正在处理在处理竞争效应时所面临的问题 请看下面的代码。我基本上创建了一个简短的可复制测试样本,它显示了我面临的问题:Apache flex 如何处理Flex中的竞争效应?,apache-flex,effects,Apache 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:S
<?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>
这基本上显示了一个按钮,当你在按钮上滚动时,另一个画布将显示,这将是一种菜单。当您推出时,菜单将消失
菜单也有一些效果,如果你试图在另一个效果结束之前启动一个效果,它会进入一个无限循环
要重现我所说的内容,请滚动按钮,然后滚动,然后再次快速滚动。您将看到菜单效果卡在一个循环中
我该如何处理这个问题?我无法重现您的问题。无论我在哪里/何时移入或移出鼠标,它都不会进入循环。请注意,我使用的是Flex3.2。也许这取决于你使用的是哪个版本
顺便说一句,您的代码与您的描述不完全匹配:您在画布上有滚动和滚动事件,其中也包含您正在显示和隐藏的画布。只是一个猜测,但我可以想象,效果本身实际上会导致鼠标在画布上或不在画布上,触发滚动/卷展,然后再次导致鼠标移入/移出。。。这就是您正在经历的无限循环吗?如果您在播放不应该播放的事件时遇到问题,只需将EffectEvent.EFFECT\u启动侦听器添加到您的事件中,并使用它停止任何播放事件。e、 g,
function _handleEffectStart(e:EffectEvent):void {
if(e.target == wipedown) {
wipeup.stop();
} else {
wipedown.stop();
}
}
或者类似的东西。顺便说一句,少就是多。从设计的角度来看,你能做到并不意味着你应该做到。花式效果很好,可以作为区分产品的一种方式,但如果它们太分散注意力,或者像在本例中那样成为问题,最好多关注功能,少关注精彩。我最终做了一些类似于您建议的事情。