注:本文出自dox-pro.iteye.com,为Dox.Pro原创,转载请注明出处!
今天因为公司需要,想着写些Flex特效,拿着手里的iTouch正在思索做什么样的特效呢?突然想到可以做成iPhone视图间切换的效果,于是试着写了一个,与大家分享一下,欢迎高手排砖指教!
这里贴出air版本的源代码,附件有Flex、Air版本的源代码和发布的Air应用
注:附件下载后去除“.rar”既可使用
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication 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="610" minHeight="516"
maxWidth="610" maxHeight="516"
currentState="mainScreen">
<s:states>
<s:State name="mainScreen"/>
<s:State name="secondScreen"/>
<s:State name="thirdScreen"/>
<s:State name="forthScreen"/>
</s:states>
<!--
********** Transitions Defination *************
-->
<s:transitions>
<!-- to right transition -->
<s:Transition fromState="mainScreen" toState="secondScreen">
<s:Sequence>
<s:Parallel targets="{[main, second]}">
<s:AddAction/>
<s:Fade target="{main}"/>
<s:Move target="{main}" xTo="-50"/>
<s:Fade target="{second}"/>
<s:Move target="{second}" xFrom="380"/>
</s:Parallel>
<s:RemoveAction targets="{[main, second]}"/>
</s:Sequence>
</s:Transition>
<s:Transition fromState="secondScreen" toState="thirdScreen">
<s:Sequence>
<s:Parallel targets="{[second, third]}">
<s:AddAction/>
<s:Fade target="{second}"/>
<s:Move target="{second}" xTo="-50"/>
<s:Fade target="{third}"/>
<s:Move target="{third}" xFrom="380"/>
</s:Parallel>
<s:RemoveAction targets="{[second, third]}"/>
</s:Sequence>
</s:Transition>
<s:Transition fromState="thirdScreen" toState="forthScreen">
<s:Sequence>
<s:Parallel targets="{[third, forth]}">
<s:AddAction/>
<s:Fade target="{third}"/>
<s:Move target="{third}" xTo="-50"/>
<s:Fade target="{forth}"/>
<s:Move target="{forth}" xFrom="380"/>
</s:Parallel>
<s:RemoveAction targets="{[third, forth]}"/>
</s:Sequence>
</s:Transition>
<!-- to left transition -->
<s:Transition fromState="secondScreen" toState="mainScreen">
<s:Sequence>
<s:Parallel targets="{[second, main]}">
<s:AddAction/>
<s:Fade target="{second}"/>
<s:Move target="{second}" xTo="380"/>
<s:Fade target="{main}"/>
<s:Move target="{main}" xFrom="-50"/>
</s:Parallel>
<s:RemoveAction targets="{[second, main]}"/>
</s:Sequence>
</s:Transition>
<s:Transition fromState="thirdScreen" toState="secondScreen">
<s:Sequence>
<s:Parallel targets="{[third, second]}">
<s:AddAction/>
<s:Fade target="{third}"/>
<s:Move target="{third}" xTo="380"/>
<s:Fade target="{second}"/>
<s:Move target="{second}" xFrom="-50"/>
</s:Parallel>
<s:RemoveAction targets="{[third, second]}"/>
</s:Sequence>
</s:Transition>
<s:Transition fromState="forthScreen" toState="thirdScreen">
<s:Sequence>
<s:Parallel targets="{[forth, third]}">
<s:AddAction/>
<s:Fade target="{forth}"/>
<s:Move target="{forth}" xTo="380"/>
<s:Fade target="{third}"/>
<s:Move target="{third}" xFrom="-50"/>
</s:Parallel>
<s:RemoveAction targets="{[forth, third]}"/>
</s:Sequence>
</s:Transition>
</s:transitions>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
private function toLeftScreen():void
{
switch (currentState)
{
case 'secondScreen':
currentState = 'mainScreen';
break;
case 'thirdScreen':
currentState = 'secondScreen';
break;
case 'forthScreen':
currentState = 'thirdScreen';
break;
default:
break;
}
}
private function toRightScreen():void
{
switch (currentState)
{
case 'mainScreen':
currentState = 'secondScreen';
break;
case 'secondScreen':
currentState = 'thirdScreen';
break;
case 'thirdScreen':
currentState = 'forthScreen';
break;
default:
break;
}
}
]]>
</fx:Script>
<s:Button id="leftButton" label="上一视图"
click="toLeftScreen()"
height="37" y="389" x="210" width="92"/>
<s:Button id="rightButton" label="下一视图"
click="toRightScreen()"
height="36" y="390" x="327" width="89"/>
<mx:Image id="main"
includeIn="mainScreen" source="image/MainScreen.png"
x.mainScreen="210" y.mainScreen="75" width="206" height="306"
depth="1"/>
<mx:Image id="second"
includeIn="secondScreen" source="image/TwoScreen.jpg"
x.secondScreen="210" y.secondScreen="75" width="206" height="306"
depth="2"/>
<mx:Image id="third"
includeIn="thirdScreen" source="image/ThreeScreen.jpg"
x.thirdScreen="210" y.thirdScreen="75" width="206" height="306"
depth="3"/>
<mx:Image id="forth"
includeIn="forthScreen" source="image/FourScreen.jpg"
x.forthScreen="210" y.forthScreen="75" width="206" height="306"
depth="4"/>
<s:Label x="210" y="52" text="Flex实现iPhone视图切换效果"
fontWeight="bold" fontSize="15"/>
</s:WindowedApplication>
分享到:
相关推荐
在flex中在同一界面实现切换效果,代码简单,易懂。
flex实现QQ面板效果flex实现QQ面板效果flex实现QQ面板效果flex实现QQ面板效果
flex实现的包括时间滚动,图片滚动效果,很好的
利用登录界面,点击login按钮,界面会产生很不错的立体旋转切换效果
MXViewStackEffectExample FLEX切换效果
flex结合as实现真正的翻书效果,适用于flex builder4以上版本
基于arcgis for flex实现的地图卷帘特效,所有地图采用arcgis在线地图服务,只是用作效果切换
Flex实现的朝4个方向翻转的效果,可以扩展实现很多特殊展示效果
一个flex实现的阴影特效,都是代码编写,和特效应用。请关注下载呀
flex实现的翻书功能的网站漂亮的flex实现swf及源码绝对超值
FLex 无间隙界面切换 FLex 无间隙 界面切换 这个效果可以看看 但是觉得 是想要的
flex实现简单浏览器,flex AIR中HTML控件实现了简单的网页浏览效果
Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果
动态实现多文件上传,基于flex技术,可以动态监控上传进度。
flex实现 ComboBox中下拉checkbox 经测试好用,还有可移动面板,和可改大小面板实例
程序通过图片的展示实现产品图片的旋转视角效果
用Flex 实现的一个简单的计算器。基本上可以实现加减乘除操作。
flex翻书效果flex翻书效果flex翻书效果
用flex实现的真正翻书效果,可以装载更多信息
Flex 实现viewstack简单切换。