`
JavaCrazyer
  • 浏览: 3009207 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

Flex4之控制状态转换以及产生动画特效【登录示例】

阅读更多

话不多说,Flex4的动画效果的确让人赏心悦目,既然是登陆肯定有画面之间的转化,那么在Flex中,这就叫做不同状态之间的变换,本实例中我做的是登陆验证,如果登录失败,则登陆框会出现左右抖动现象,用过MAC电脑的应该知道有这个效果,如果登录成功则出现画面消失,和主页面不同部分从不同方向显示到一起的动画特效

特上全部mxml代码

<?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" 
			   currentState="loginState">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<s:Sequence id="shake" target="{login}">
			<s:Move  xBy="20" duration="40" />
			<s:Move  xBy="-20" duration="40"/>
			<s:Move  xBy="20" duration="40"/>
			<s:Move  xBy="-20" duration="40"/>
			<s:Move  xBy="20" duration="40"/>
			<s:Move  xBy="-20" duration="40"/>
			<s:Move  xBy="20" duration="40"/>
			<s:Move  xBy="-20" duration="40"/>
		</s:Sequence>
	</fx:Declarations>
	
	<fx:Script>
		<![CDATA[
			function checkLogin():void{
			  //判断登录是否成功,如果成功就会执行到主页面,在这个过程中会有特效发生、如果登录失败会发生左右抖动现象
			   if(userName.text=='flex'&&passWord.text=='jay'){
				   currentState='mainState';
			   }else{
			       shake.play();   
			   }
			
			
			}
		]]>
	</fx:Script>
	

	<s:states>
		<s:State name="mainState"/>
		<s:State name="loginState"/>
	</s:states>
	<s:transitions>
		<!-- 从loginState到mainState所发生的特效变化,在本实例中就是登录成功后所发生的特效 -->
		<s:Transition fromState="loginState" toState="mainState">
			<!--可以添加一个序列,用来执行多个特效变化 -->
			<s:Sequence>
				<!--第一步使login面板消失 -->	
			<s:Parallel>
				<s:Fade target="{login}"  />
			</s:Parallel>
				<!--不仅要消失还要移除 -->
		    <s:RemoveAction target="{login}" />
				<!--添加主页面的三项类容,然后逐一从不同方向显示进来 -->
			<s:Parallel targets="{[myImg,viewImg,myblog]}">
				<s:AddAction />
				<s:Fade />
			     <s:Move  target="{myImg}" xFrom="-100"/>
				<s:Move  target="{viewImg}" yFrom="-100"/>
				<s:Move  target="{myblog}" xFrom="500"/>
				
				<s:Resize target="{myblog}" widthFrom="456" widthTo="556" />
			</s:Parallel>
			</s:Sequence>
		</s:Transition>
		<!--从mainState到mainState所发生的特效变化,在本实例中就是点击注销按钮所发发生的特效 -->
		<s:Transition fromState="mainState" toState="loginState">
			<s:Sequence>
				<!--使主页面各项全部消失 -->
				<s:Parallel >
					<s:Fade targets="{[myImg,viewImg,myblog]}"  />
				</s:Parallel >
				<!--消失后接着移除-->
				<s:RemoveAction targets="{[myImg,viewImg,myblog]}" />
				<!--添加登录然后从右边向左边方向逐渐显示出来 -->
				<s:Parallel target="{login}">
					<s:AddAction />
					<s:Fade  />
					<s:Move xFrom="100" /> 
				</s:Parallel>
			</s:Sequence>
		</s:Transition>
	</s:transitions>
	
	<s:Panel  id="login"  title="登录窗口" 
			   x="27" y="40" 
			   width="250" height="200" 
			   includeIn="loginState">
		<s:Label x="22" y="32" text="用户名:" />
		<s:TextInput x="74" y="27" id="userName"/>
		<s:Label x="22" y="73" text="密码:"/>
		<s:TextInput x="74" y="68"  id="passWord"/>
		<s:Button x="74" y="107" id="loginBtn" label="登录" click="checkLogin()"/>
		
	</s:Panel>
	<s:Label text="请登录用户"  fontSize.mainState="20" color.mainState="#D71B1B" x.mainState="22" y.mainState="10" text.mainState="欢迎你的到来" x.loginState="27" y.loginState="10" fontSize.loginState="20" fontWeight.loginState="normal" color.loginState="#9A0707"/>
	<s:Button excludeFrom="loginState" 
			  x="875" y="569" 
			  label="注销" 
			  click="currentState='loginState'"/>
	
	<s:Panel id="myblog" title="我的博客" 
			 includeIn="mainState"
			 x="378" y="230"
			 width="556" height="291">
		<s:Label x="5" y="11" 
				 text="周杰伦的迷你小博客--畅想移动生活" 
				 fontWeight="bold" 
				 fontSize="25" 
				 color="#1A1FD8" 
				 chromeColor="#CCCCCC"/>
		
	</s:Panel>
	<mx:Image includeIn="mainState" x="10" y="38" source="img/imgget.q (9).jpg" id="myImg" width="326" height="483"/>
	<mx:Image includeIn="mainState" x="378" y="13" source="img/068aac39fd3c5401b8998fd2.jpg" width="556" height="209" id="viewImg"/>
</s:Application>

 

16
0
分享到:
评论
8 楼 lifengshurui 2011-09-01  
谢谢您的分享!
7 楼 红耳0414 2011-08-02  
TAI NB
6 楼 JavaCrazyer 2011-01-12  
macleo 写道
帅呆了......

5 楼 macleo 2011-01-04  
帅呆了......
4 楼 htj1231825 2010-12-09  
在 XML 处理指令 (<? ... ?>) 之前不能留有空白。
  这个么办。。。。
3 楼 bence 2010-10-18  
直接copy下来。运行不了,mark下
2 楼 JavaCrazyer 2010-08-16  
JiongBull 写道
呵呵,刚好在学,看到了你的代码和注释.谢谢分享.

不客气
1 楼 JiongBull 2010-08-15  
呵呵,刚好在学,看到了你的代码和注释.谢谢分享.

相关推荐

    flex3D特效

    在Flex中,可以通过组合简单的动画和转换效果,例如` Tween `类,来实现物体平滑的移动和旋转。 在提供的压缩包文件` MyCoverFlow `中,很可能包含了实现这些特效的源代码、资源文件和示例应用程序。学习者可以通过...

    flex aladino 图片展示特效

    在本文中,我们将深入探讨如何使用Flex实现一个名为"Aladino"的图片展示特效,这是一种纵向滚动的图片展示效果,具有强烈的视觉吸引力。虽然原作者未能将其转换为横向滚动,但我们可以通过理解Flex布局原理来尝试...

    flex_特效_源码_6种特效

    至于"flex特效整合"这个压缩包,它很可能包含了6种不同的Flex特效示例。这些示例可能涵盖以下几种常见特效: 1. **滑动/滚动效果**:在列表或容器中平滑地移动内容,常用于轮播图或导航菜单。 2. **淡入淡出效果**...

    flex 弹出特效

    在`Flex的弹出特效.txt`文件中,可能包含了具体实现这些效果的代码示例和详细解释。而`MyTest`可能是一个测试项目,用于实践和演示这些概念。为了更好地理解和应用这些知识,建议仔细阅读文本文件并尝试在实际项目中...

    Flex component

    Flex框架基于ActionScript,一个面向对象的脚本语言,以及MXML,一种用于描述用户界面布局的标记语言。 描述中的“flex 火焰字”可能是指一种特殊效果,将文字与动态火焰图形相结合,创造出视觉上引人注目的效果。...

    HTML5结合CSS3实现的手动切换幻灯片动画特效源码.zip

    在本示例中,“HTML5结合CSS3实现的手动切换幻灯片动画特效源码”是一个用于实现手动控制幻灯片切换效果的代码资源。下面将详细介绍这个项目中的关键知识点。 首先,HTML5提供了新的结构元素,如`&lt;header&gt;`, `&lt;nav&gt;...

    flex3 cookbook 源码 完整版

    这些代码可能涉及了Flex 3的基本概念,如布局管理器、组件使用、样式定制、数据绑定、特效和动画、事件处理,以及与后端服务的集成,如AMF(Action Message Format)数据交换。开发者可以通过这些代码来实践书中的...

    DistortionEffects是一种flex3的扩展特效,支持立方体旋转等多种控件的3D变换

    DistortionEffects是针对Flex3框架的一个重要扩展,它主要提供了丰富的3D变形和转换效果,使得开发者能够为Flex应用程序添加更生动、更具视觉冲击力的交互体验。在Flex3这个基于ActionScript 3的开发环境中,...

    demo.zip_flash3d场景中_flex_小车漫游

    在Flash 3D中,这通常涉及到坐标转换、速度控制以及动画帧更新等技术。 4. **键盘控制**: 用户可以通过键盘上的按键来控制小车的方向和速度。在Flex中,可以监听键盘事件,并根据按键输入改变小车的运动状态,如...

    flex学习笔记

    - Flex-Ajax Bridge 控制技术。 #### 七、实例篇 - **FLV 播放器**:基于 Flex 构建视频播放功能。 - **CairngormStore 分析**:深入研究官方示例项目。 - **客户端与服务器交互**: - 客户端使用 Flex3 实现。 ...

    loading动画特效小结

    总结来说,本文通过具体的代码示例,详细介绍了使用JavaScript结合CSS3实现加载动画特效的方法。这些知识点对于前端开发者来说是基础且重要的,不仅能够帮助他们理解动态效果的制作过程,也能够为将来遇到更复杂的...

    FL效果集合

    2. **Effect类**:Flex 4中的Effect类是所有动画的基础,它提供了开始、停止、暂停等控制功能。你可能会看到如何创建自定义效果,以及如何触发和绑定效果到特定事件。 3. **Transitions**:过渡效果是改变两个视...

    纯CSS3实现天气动画图标特效源码.zip

    CSS3作为现代Web设计的核心技术之一,提供了丰富的样式控制和动画功能,使得开发者可以不依赖JavaScript或其他脚本语言就能实现复杂的视觉效果。 在【描述】中提到的"纯CSS3实现天气动画图标特效源码",意味着这个...

    CSS3图片卡片悬停动画特效

    在网页设计中,CSS3(层叠样式表第三版)为开发者提供了丰富的视觉效果和交互体验,其中之一就是图片卡片悬停动画特效。这种特效能够增强用户的浏览体验,使静态的图片列表变得更加生动和吸引人。下面我们将深入探讨...

    CSS3实现3D魔方翻转网页动画特效特效代码

    提供的"CSS3实现3D魔方翻转网页动画特效"资源可能包括示例代码、说明文档等,有助于开发者快速理解和实现这一效果。在实际项目中,结合HTML和JavaScript,可以进一步增强3D魔方的功能性和交互性。

    CSS3鼠标悬停图片放大效果特效.zip

    `transition`属性定义了元素在不同状态间转换的动画效果,如放大和缩小的速度。最后,`:hover img`选择器在鼠标悬停时应用`zoomIn`动画。 同时,为了实现3行4列的图片布局,我们可以设置一个包含所有图片容器的父级...

    数十次css3鼠标悬停特效

    在网页设计中,CSS3(层叠样式表第三版)为开发者提供了丰富的视觉效果和交互体验,其中之一就是鼠标悬停特效。"数十次css3鼠标悬停特效"这个主题聚焦于利用CSS3技术来实现多样化的鼠标悬停效果,使得用户在网页上的...

    cpp-FlexCHOP一个NVIDIAFleX解决方案集成在TouchDesigner中作为CHOP

    4. FlexCHOP集成:FlexCHOP是将FleX库集成到TouchDesigner中的特定CHOP类型,它使得用户可以直接在TouchDesigner中创建和控制FleX物理系统。通过FlexCHOP,用户可以设置粒子参数,如数量、大小、密度,以及模拟环境...

Global site tag (gtag.js) - Google Analytics