mingliangfeng 发表于 2013-2-7 13:31:55

一个比较好玩的Flex特效

如下所示,该程序使用了auhlmann写的一个组件,详细信息请至http://weblogs.macromedia.com/auhlmann/archives/2007/03/distortion_effe.cfm#more查询。login时开门,logout时关门。源代码贴在后面了。
 

 
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"    xmlns:eff="com.adobe.ac.mxeffects.*"   paddingBottom="0" paddingLeft="0" paddingTop="0" paddingRight="0"    horizontalAlign="center" verticalAlign="middle" xmlns="*" viewSourceURL="srcview/index.html"><mx:Script>       <!;            gate.direction = DistortionConstants.LEFT;                  gate.smooth = true;            gate.distortion = 10;            gate.mode = Gate.OPEN;            gate.duration = 1000;            mySequence.addChild(gate);                        var parallel:Parallel = new Parallel();            var resize:Resize = new Resize();            resize.target = loginStack;            resize.widthTo = this.width-20;            resize.heightTo = this.height-20;            resize.duration = 1000;            parallel.addChild(resize);                            resize = new Resize();            resize.target = chatRoom;            resize.widthTo = this.width-20;            resize.heightTo = this.height-20;            resize.duration = 1000;            parallel.addChild(resize);                           mySequence.addChild(parallel);                            mySequence.play();         }                      public function gotoLogin() : void {            var mySequence:Sequence = new Sequence();            var gate:Gate = new Gate(chatRoom);            gate.siblings = [ login ];            gate.direction = DistortionConstants.LEFT;                  gate.smooth = true;            gate.distortion = 10;            gate.mode = Gate.CLOSE;            gate.duration = 1000;            mySequence.addChild(gate);                        var parallel:Parallel = new Parallel();            var resize:Resize = new Resize();            resize.target = loginStack;            resize.widthTo = min_width;            resize.heightTo = min_height;            resize.duration = 1000;            parallel.addChild(resize);                            resize = new Resize();            resize.target = chatRoom;            resize.widthTo = min_width;            resize.heightTo = min_height;            resize.duration = 1000;            parallel.addChild(resize);                           mySequence.addChild(parallel);                            mySequence.play();         }       ]]>    </mx:Script>      <mx:Style source="/assets/OSX.css"/>    <mx:VBox>    <mx:ViewStack id="loginStack" width="350" height="200">      <mx:Panel id="login" title="Login" horizontalAlign="center"         verticalAlign="middle" backgroundColor="0xAAAAAA" >            <mx:Form >            <mx:FormItem label="Username">      <mx:TextInput id="userName" />      </mx:FormItem>            <mx:FormItem label="Password">      <mx:TextInput displayAsPassword="true" id="password"         enter="gotoChatRoom();"/>      </mx:FormItem>            <mx:FormItem>      <mx:Button label="Login" click="gotoChatRoom();" />      </mx:FormItem>            </mx:Form>            </mx:Panel>            <mx:Panel id="chatRoom" title="Chat Room" >             <mx:VBox width="100%" height="100%">      <mx:TextArea id="log" fontSize="12" width="100%" height="100%"         editable="false" />      </mx:VBox>      <mx:ControlBar>      <mx:TextInput id="msg" width="100%" fontSize="12" enter=""/>      <mx:Button label="Send" click="" />       <mx:Button label="Logout" click="gotoLogin()" />       </mx:ControlBar>            </mx:Panel>    </mx:ViewStack>    </mx:VBox></mx:Application> 
 
 
页: [1]
查看完整版本: 一个比较好玩的Flex特效