Flex动画效果与变换(三)
转自:http://xinsync.xju.edu.cn/index.php/archives/1306
这篇文章是Flex动画效果变换的最后一编了,这篇将会讲述Flex中的“变面”技术,即是Transitions!
如果看过Flex SDK里面的自带的例子程序,有一个叫“Flex Store”的应用,在里面的手机列表中看某一个手机的详细时,就是这种效果,不多说,这篇会比较简单,先看看效果:在线播放
看到了效果了吧,这种的变换不难实现,再来看看代码再解析:
<?xml version=”1.0″ encoding=”utf-8″?> <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”695″ height=”555″> <mx:states> <mx:State name=”A”> <mx:SetProperty target=”{windowA}” name=”width” value=”500″/> <mx:SetProperty target=”{windowA}” name=”height” value=”300″/> <mx:SetProperty target=”{windowC}” name=”width” value=”150″/> <mx:SetProperty target=”{windowC}” name=”height” value=”150″/> <mx:SetProperty target=”{windowC}” name=”y” value=”333″/> <mx:SetProperty target=”{windowD}” name=”x” value=”373″/> <mx:SetProperty target=”{windowD}” name=”width” value=”150″/> <mx:SetProperty target=”{windowD}” name=”height” value=”150″/> <mx:SetProperty target=”{windowD}” name=”y” value=”333″/> <mx:SetProperty target=”{windowB}” name=”x” value=”23″/> <mx:SetProperty target=”{windowB}” name=”y” value=”333″/> <mx:SetProperty target=”{windowB}” name=”width” value=”150″/> <mx:SetProperty target=”{windowB}” name=”height” value=”150″/> <mx:SetProperty target=”{windowC}” name=”x” value=”200″/> </mx:State> <mx:State name=”B”> <mx:SetProperty target=”{windowD}” name=”width” value=”150″/> <mx:SetProperty target=”{windowD}” name=”height” value=”150″/> <mx:SetProperty target=”{windowC}” name=”width” value=”150″/> <mx:SetProperty target=”{windowC}” name=”height” value=”150″/> <mx:SetProperty target=”{windowA}” name=”width” value=”150″/> <mx:SetProperty target=”{windowA}” name=”height” value=”150″/> <mx:SetProperty target=”{windowB}” name=”width” value=”500″/> <mx:SetProperty target=”{windowB}” name=”height” value=”300″/> <mx:SetProperty target=”{windowA}” name=”y” value=”333″/> <mx:SetProperty target=”{windowC}” name=”x” value=”200″/> <mx:SetProperty target=”{windowC}” name=”y” value=”333″/> <mx:SetProperty target=”{windowB}” name=”x” value=”23″/> <mx:SetProperty target=”{windowD}” name=”x” value=”373″/> <mx:SetProperty target=”{windowD}” name=”y” value=”333″/> </mx:State> <mx:State name=”C”> <mx:SetProperty target=”{windowD}” name=”width” value=”150″/> <mx:SetProperty target=”{windowD}” name=”height” value=”150″/> <mx:SetProperty target=”{windowB}” name=”width” value=”150″/> <mx:SetProperty target=”{windowB}” name=”height” value=”150″/> <mx:SetProperty target=”{windowA}” name=”width” value=”150″/> <mx:SetProperty target=”{windowA}” name=”height” value=”150″/> <mx:SetProperty target=”{windowC}” name=”width” value=”500″/> <mx:SetProperty target=”{windowC}” name=”height” value=”300″/> <mx:SetProperty target=”{windowA}” name=”y” value=”333″/> <mx:SetProperty target=”{windowB}” name=”x” value=”200″/> <mx:SetProperty target=”{windowB}” name=”y” value=”333″/> <mx:SetProperty target=”{windowC}” name=”x” value=”23″/> <mx:SetProperty target=”{windowC}” name=”y” value=”19″/> <mx:SetProperty target=”{windowD}” name=”x” value=”373″/> <mx:SetProperty target=”{windowD}” name=”y” value=”333″/> </mx:State> <mx:State name=”D”> <mx:SetProperty target=”{windowC}” name=”width” value=”150″/> <mx:SetProperty target=”{windowC}” name=”height” value=”150″/> <mx:SetProperty target=”{windowB}” name=”width” value=”150″/> <mx:SetProperty target=”{windowB}” name=”height” value=”150″/> <mx:SetProperty target=”{windowA}” name=”width” value=”150″/> <mx:SetProperty target=”{windowA}” name=”height” value=”150″/> <mx:SetProperty target=”{windowD}” name=”width” value=”500″/> <mx:SetProperty target=”{windowD}” name=”height” value=”300″/> <mx:SetProperty target=”{windowA}” name=”y” value=”333″/> <mx:SetProperty target=”{windowB}” name=”x” value=”200″/> <mx:SetProperty target=”{windowB}” name=”y” value=”333″/> <mx:SetProperty target=”{windowD}” name=”x” value=”23″/> <mx:SetProperty target=”{windowD}” name=”y” value=”19″/> <mx:SetProperty target=”{windowC}” name=”x” value=”373″/> <mx:SetProperty target=”{windowC}” name=”y” value=”333″/> </mx:State> </mx:states> <mx:transitions> <mx:Transition fromState=”*” toState=”*”> <mx:Parallel targets=”{[windowA, windowB, windowC, windowD]}”> <mx:Move /> <mx:Resize /> </mx:Parallel> </mx:Transition> </mx:transitions> <mx:TitleWindow x=”23″ y=”19″ width=”250″ height=”200″ layout=”absolute” title=”A” id=”windowA” click=”currentState=’A'” /> <mx:TitleWindow x=”309″ y=”19″ width=”250″ height=”200″ layout=”absolute” title=”B” id=”windowB” click=”currentState=’B'” /> <mx:TitleWindow x=”23″ y=”260″ width=”250″ height=”200″ layout=”absolute” title=”C” id=”windowC” click=”currentState=’C'” /> <mx:TitleWindow x=”309″ y=”260″ width=”250″ height=”200″ layout=”absolute” title=”D” id=”windowD” click=”currentState=’D'” /> </mx:Application>