小小菜鸟的web菜园子

web开发学习。好记性不如烂笔头。每天进步一点点!

导航

FLEX中Sequence实例教程. 顺序执行的效果.

效果:

代码:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/04/23/sequencing-effects-in-flex-using-the-mxsequence-tag-redux/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white">

    
<mx:Script>
        
<![CDATA[
            import mx.effects.Fade;
            import mx.effects.Pause;
            import mx.effects.Sequence;
            import mx.effects.SetPropertyAction;
            import mx.effects.WipeRight;

            private var fader:Sequence;
            private var wiper:Sequence;

            private function fade_click():void {
                var fadeIn:Fade = new Fade();
                fadeIn.alphaFrom = 0.0;
                fadeIn.alphaTo = 1.0;

                var fadeOut:Fade = new Fade();
                fadeOut.alphaFrom = 1.0;
                fadeOut.alphaTo = 0.0;

                var pause:Pause = new Pause();
                pause.duration = slider.value;

                fader = new Sequence();
                fader.addChild(fadeIn);
                fader.addChild(pause);
                fader.addChild(fadeOut);

                fader.stop();
                fader.play([box]);
            }

            private function wipe_click():void {
                var wipeIn:WipeRight = new WipeRight();
                wipeIn.showTarget = true;

                var wipeOut:WipeRight = new WipeRight();
                wipeOut.showTarget = false;

                var pause:Pause = new Pause();
                pause.duration = slider.value;

                var alphaOn:SetPropertyAction = new SetPropertyAction();
                alphaOn.name = "alpha";
                alphaOn.value = 1.0;

                var alphaOff:SetPropertyAction = new SetPropertyAction();
                alphaOff.name = "alpha";
                alphaOff.value = 0.0;

                wiper = new Sequence();
                wiper.addChild(alphaOn);
                wiper.addChild(wipeIn);
                wiper.addChild(pause);
                wiper.addChild(wipeOut);
                wiper.addChild(alphaOff);

                wiper.stop();
                wiper.play([box]);
            }
        
]]>
    
</mx:Script>

    
<mx:ApplicationControlBar dock="true">
        
<mx:Button label="fade box"
                click
="fade_click();" />
        
<mx:Button label="wipe box"
                click
="wipe_click();" />

        
<mx:Spacer width="100%" />

        
<mx:Label text="effect pause ({slider.value} ms):" />
        
<mx:HSlider id="slider"
                minimum
="1000"
                maximum
="3000"
                value
="1500"
                labels
="[1000,2000,3000]"
                liveDragging
="true"
                showTrackHighlight
="true"
                snapInterval
="100"
                tickInterval
="500"
                dataTipPrecision
="0" />
    
</mx:ApplicationControlBar>

    
<mx:Box id="box"
            width
="100%"
            height
="100%"
            backgroundColor
="haloSilver"
            alpha
="0.0" />

</mx:Application>

来自:http://blog.flexexamples.com/2008/04/23/sequencing-effects-in-flex-using-the-mxsequence-tag-redux/

posted on 2008-04-24 13:26  『小小菜鸟』  阅读(1394)  评论(0编辑  收藏  举报