Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 不一致的弹性效应_Apache Flex_Flash Builder_Flex4.5_Effects - Fatal编程技术网

Apache flex 不一致的弹性效应

Apache flex 不一致的弹性效应,apache-flex,flash-builder,flex4.5,effects,Apache Flex,Flash Builder,Flex4.5,Effects,我已经在Flex中创建了一个简单的效果,代码如下,但它不能正确执行。。。当我滚动图标时,大部分时间效果都会播放,当我滚动图像时,效果应该反向播放,但很少 我的代码或逻辑是否不正确?仅供参考-我正在使用Flash Builder 4.6 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library

我已经在Flex中创建了一个简单的效果,代码如下,但它不能正确执行。。。当我滚动图标时,大部分时间效果都会播放,当我滚动图像时,效果应该反向播放,但很少

我的代码或逻辑是否不正确?仅供参考-我正在使用Flash Builder 4.6

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <s:Move id="detail_fade" target="{detail_panel}" xFrom="218" xTo="400" />
    </fx:Declarations>

    <s:Panel id="detail_panel" x="218" y="10" width="728" height="580" title="something">
    </s:Panel>

    <s:VGroup x="7" y="5" width="200" height="200">
        <s:Image source="images/Airfield Icon.jpg"
            rollOver="detail_fade.play()" rollOut="detail_fade.reverse()"/>
</s:VGroup>


正如马赫什在评论中指出的那样,
reverse()
只会反转实际播放的效果。这就是为什么你只看到它有时发生的原因:也就是说,当你足够快地在效果结束前推出时

您应改为使用:

detail_fade.play(null, true);
play
方法的第一个参数是效果目标的数组。既然您已经给了它一个目标,就不需要再次传递它(这就是为什么它会显示
null
)。
第二个参数是一个布尔值,如果设置为
true
,则告诉效果以相反方向播放。默认情况下,它当然是
false


现在,您可能会注意到,当您快速推出时,效果将跳到末尾,并从那里开始向另一个方向播放

这可以通过如下方式进行修复:

if (detail_fade.isPlaying) detail_fade.reverse();
else detail_fade.play(null, true);

仅供参考,detail_fade.reverse()仅在显示为真时才起作用,否则reverse()将不起作用。谢谢你,Mahesh!文档中的说法与此不同,但当我实现了一个解决方案并牢记您的声明时,它是成功的,所以您一定是对的。。。。