`
emavaj
  • 浏览: 50200 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Flex 布局变化时的动画效果解析 简单版

    博客分类:
  • Flex
阅读更多

这个连接时Adobe官方的一个例子

http://examples.adobe.com/flex3/devnet/networkmonitor/main.html

相信大家都看过

 

而且肯定会对其中ViewStack切换时候的动画产生兴趣...

 

小弟不才,看了半天源码,只能做成这个小例子,希望大家指教

 

例子代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
	xmlns:mx="http://www.adobe.com/2006/mxml" 
	layout="absolute" minWidth="200" minHeight="200" 
	width="200" height="200">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.core.UIComponent;
			import mx.effects.Move;
			/**
			 * xs1和ys1 是管理布局的简化体
			 * 如果复杂化,则叫做LayoutManager
			 */
			public var xs1:Array = new Array(10,10,10,10);
			public var ys1:Array = new Array(10,40,70,100);
			/**
			 * xs2和ys2同上
			 */
			public var xs2:Array = new Array(10,58,106,154);
			public var ys2:Array = new Array(10,10,10,10);
			/**
			 * 贴换标志,这个变量很多时候是
			 * ViewStack或者Tab等组件
			 * 中的SelectItem,不一定是Boolean型
			 */
			public var flag:Boolean = false;
			/**
			 * 形变方案
			 * 当然,如果要应用的话,需要监听
			 * 效果执行完毕事件,然后再执行后面的代码
			 * 否则会布局出错
			 */
			public function changeXY():void {
				if (flag) {
					moveTo(b1,xs2[0],ys2[0]);
					moveTo(b2,xs2[1],ys2[1]);
					moveTo(b3,xs2[2],ys2[2]);
					moveTo(b4,xs2[3],ys2[3]);
				} else {
					moveTo(b1,xs1[0],ys1[0]);
					moveTo(b2,xs1[1],ys1[1]);
					moveTo(b3,xs1[2],ys1[2]);
					moveTo(b4,xs1[3],ys1[3]);
				}
				/**切换标志*/
				flag = !flag;
			}
			/**
			 * 制作效果,这个自由发挥
			 */
			public function moveTo(object:UIComponent,targetX:int,targetY:int):void {
				if (object.x != targetX || object.y != targetY) {
					var m:Move = new Move(object);
					m.xTo = targetX;
					m.xFrom = object.x;
					m.yTo = targetY;
					m.yFrom = object.y;
					m.play();
				}
			}
		]]>
	</mx:Script>
	<mx:Button id="b1" label="A" x="10" y="10"/>
	<mx:Button id="b2" label="B" x="58" y="10"/>
	<mx:Button id="b3" label="C" x="106" y="10"/>
	<mx:Button id="b4" label="D" x="154" y="10"/>
	
	<mx:Button label="BUTTON" click="changeXY()" x="10" y="168"/>
</mx:Application>

 

 

例子的具体效果,由于小弟刚刚来到Javaeye,还不懂怎么上传Flash,并且能预览,所以只能上传附件,给大家

点评一下了.

 

其实做布局转换时的动画效果,

最主要的就是去掉Application的布局设置

变为:absolute

 

然后自己制作作为的 LayoutManager ,也就是自己管理自己的布局

(当然管理的方式,就因人而异了)

大家可以参考Adobe官方的那个例子(右键可以看源码)

 

做好自己的布局管理之后,那么就是x、y坐标的问题了,

如果你算法好,想怎么变就怎么变了...

 

小弟希望大家多多点评...有什么问题尽量指出!

0
1
分享到:
评论

相关推荐

    flex 图片轮播效果

    总的来说,"flex 图片轮播效果"是一个结合了Flex编程、XML数据绑定、用户交互和动画效果的综合性项目。通过理解这些核心概念,开发者可以创建出功能丰富的图片展示模块,提升网站或应用的用户体验。虽然没有提供源码...

    Flex加载GIF动画处理类

    在Flex开发中,由于Flex默认不支持GIF动画的显示,因此我们需要借助特定的处理类来实现GIF动画在Flex应用程序中的播放。本篇将详细探讨如何在Flex中加载并处理GIF动画。 首先,Flex是Adobe开源的ActionScript框架,...

    flex麻将和牌源代码

    3. 界面设计:使用MXML创建用户友好的游戏界面,包括牌桌、牌堆、玩家信息等元素的布局和动画效果。 4. 游戏逻辑:控制游戏流程,如洗牌、发牌、判定游戏结束等。 5. 错误处理:处理游戏中可能出现的异常情况,如...

    Flex火焰效果源码

    Flex是Adobe公司开发的一种开源框架,主要用于构建富...总的来说,“Flex火焰效果源码”是一个展示Flex高级图形编程技巧的实例,通过对源码的解析和学习,开发者可以提升自己的ActionScript编程能力和动画制作水平。

    Flex事件解析以及Flex基础功能介绍

    4. **动画和效果**:Flex内置了丰富的动画和视觉效果库,使得开发者能够轻松创建吸引眼球的界面过渡和互动体验。 5. **Flex Builder**:一款专为Flex开发打造的集成开发环境,提供了强大的编辑、调试和测试功能,极...

    flex画虚线代码

    在探讨“flex画虚线代码”这一主题时,我们深入解析如何利用Flex框架中的图形功能来绘制虚线,以及理解这段代码背后的核心逻辑和技术要点。Flex是一个强大的开发框架,主要用于构建跨平台的富互联网应用程序(RIA)...

    FLEX年会抽奖程序

    同时,界面元素的动态更新和动画效果也是FLEX擅长的领域,可以为抽奖过程增添视觉冲击力。 总的来说,FLEX年会抽奖程序通过FLEX强大的UI设计能力和ActionScript的编程灵活性,实现了集趣味性和实用性于一体的抽奖...

    使用CSS美化Flex

    在网页设计领域,Flex布局(Flexible Box)是CSS3中的一种布局模式,它极大地提高了我们对网页元素排列和对齐的控制能力。本教程将深入探讨如何使用CSS来美化Flex布局,包括动态加载和直接引用的方法。我们将通过...

    3D效果Flex源码

    Flex是一种基于ActionScript 3.0的开源框架,...总之,“3D效果Flex源码”涉及到的编程概念和实践广泛,涵盖了3D图形学、动画、用户交互等多个方面。学习并理解这些源码将有助于提升你在3D富互联网应用开发方面的技能。

    flex实时更新曲线图

    在实时更新曲线图的场景中,ActionScript主要负责处理数据的获取、解析以及与图表组件的交互,如设置数据提供者、监听数据变化等。 4. **MXML**:MXML是一种声明式语言,用来描述Flex应用的用户界面布局和组件结构...

    web版切水果(flex开发)

    《Web版切水果游戏:基于Flex的开发实践与技术解析》 在当今互联网技术日新月异的时代,游戏开发已经成为一个热门领域,尤其在移动设备和网页平台上的轻量化游戏,如“切水果”这样的休闲游戏,更是深受用户喜爱。...

    Flex第一步

    - **动画效果**:利用Flex内置的动画类库,可以轻松实现复杂的动画效果。 - **国际化支持**:Flex支持多语言和区域设置,便于制作全球化应用程序。 - **离线应用**:通过Adobe AIR,Flex可以创建桌面级的离线应用...

    Flex详细文档.pdf

    - **简单动画效果**: Flex支持多种动画效果,如淡入淡出、移动等,这些可以通过ActionScript脚本来实现。 #### 四、Flex for GIS开发 - **新建项目**: 创建一个新的Flex项目,专门针对GIS应用开发。 - **使用地图*...

    FLex 物品分类游戏

    4. **动画效果**:Flex可以利用Tween类和Timeline类实现平滑的动画效果,比如物品移动、选中高亮等,增加游戏的趣味性。 5. **状态管理**:游戏可能有多个阶段或状态,Flex的State机制可以方便地切换UI布局和行为,...

    flex中文帮助文档

    7. **动画和效果**:Flex支持创建丰富的动画效果,如淡入淡出、滑动和旋转。文档会介绍Animate和Transition类的使用。 8. **事件处理**:Flex事件模型是其交互性的核心。文档会解释事件的生命周期、事件监听器和...

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

    下面我们将详细解析给定文件中的代码片段,了解如何实现登录成功与失败时的不同动画效果。 ##### 3.1 定义状态 ```xml ``` 这里定义了两个状态:“mainState”表示主页面状态,“loginState”表示登录界面...

    flex中文教程 adobe官方文档的中文版

    - Flex允许开发者创建平滑的动画效果,增强用户体验。 - 效果库包括淡入淡出、滑动、缩放等多种效果。 7. 网络通信: - Flex应用可以通过HTTP、HTTPS、AMF等方式与服务器进行数据交换,支持SOAP和RESTful服务。 ...

    flex3.0源码-3

    7. **动画和效果**:Flex提供了强大的动画系统,源码分析可以帮助我们理解动画是如何被创建和执行的,以及如何创建复杂的视觉效果。 8. **服务和数据访问**:Flex可以与服务器进行通信,获取和发送数据。通过源码,...

    GIF 图片显示 FLEX

    FLEX在这里可能是指Flex布局,一种在前端开发中用于实现灵活、响应式布局的策略,常见于CSS(Cascading Style Sheets)。 首先,我们要理解GIF图片的工作原理。GIF格式支持多帧动画,每一帧可以看作是图像的一部分...

Global site tag (gtag.js) - Google Analytics