- 浏览: 287930 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xisuchi:
咋没人收藏阿
前端开发大众手册(包括工具、网址、经验等) -
past2010yeah:
太好了,解决了我纠结很久的问题!!!非常感谢!
解决Flex跨域"访问URL时遇到安全性错误" -
shlei:
xiao_kai 写道这样会不会牺牲性能啊~~会,但是这是暂时 ...
解决flex4 spark 找不到外观错误 -
xiao_kai:
这样会不会牺牲性能啊~~
解决flex4 spark 找不到外观错误 -
jcl860:
兄台:左边面板是图片,还是用mxml画出来的图形?
仿IBM-BPM Editor实现的WorkFlowEditor
3D:在第三个维度上应用特效
当Flex小组忙于Flex4, 忙于思考组件架构,皮肤和名字空间的问题时。Flash小组发布了Flash Player 10. FP10有好多很酷的特性,
其中之一是3D功能,有了3D功能,我们不仅可以x轴和y轴定位和定向 显示对象,还可以在z轴这么作。
FP10 不支持完全的3D引擎。比如,没有Z缓冲区。这意味着你在渲染复杂的3D模型时可能遇到重叠的对象。幸好FP支持正确的3D定位和方向。这样我们就可以创建一些酷毙的特效。比如翻页和Fisheye(现在的手机上几乎都是这个东东)Flex team利用了FP的这些新功能。 Flex4 包含了一些新的特效来让你在3D上操作对象。我们前面提到的变换特效都有对应的3D版本:
下面的例子演示如何操作UI元素的3D属性。
第一个效果是让目标绕着y轴旋转360度(注意是围绕按钮的中心旋转)。第二个效果就是让按钮的z值减少30像素,看起来就像是
按钮变大了一样 (也就是按钮凸出来的感觉),然后又把z的位置变回去(注意repeatBehavior的值)
使用像素混淆着色特效
FP10支持像素混淆着色。Pixel Bender Tookit是Adobe实验室的一项技术。它允许你创建小的程序来在像素级别操作图像,它允许
多个输入的图像,并按你的要求来操作像素。这个过程就是在遍历每个像素时,都调用你的小程序来计算最终要显示的像素的值。
我们这里不讨论如何使用Pixel Bender Tookit,而是讨论如何在Flex里使用这项技术。
Flash对像素混淆的支持使得创建Flash 对象的自定义过滤器(filter,就是那样阴影效果)成为可能。Flash过滤器是更改对象如何显示在界面上
的一项强大的技术,比如给对象增加一个阴影,或者给按钮增加一圈光晕效果。
在Flex 4里有2种可以试用像素混淆着色功能的效果:AnimateFilter和AnimateTransitionShader.
使用AnimateFilter
AnimateFilter不只能用于像素混淆着色,也可以给任何的过滤器增加动画效果。比如可以一个组件周围的光晕增加动画效果。
上面的例子就是让按钮周围的光晕从透明变成不透明(感觉就是阴影慢慢显示的效果)。
下面的例子真正用到了像素混淆的特效:
使用 AnimateTransitionShader
另外一种在FLex里使用像素混淆着色的方法是使用AnimateTransitionShader的子类。目前只有Wipe和Crossfade 2种效果。
AnimateTransitionShade和它的子类的设计思路是给状态前后的目标对象拍个快照。然后构造一个ShaderFilter,把2个图片
分别作为输入和混淆器,然后在ShaderFilter上运行动画来在2张图片之间进行切换。
因为这些特效都是执行一些很固定的任务,定时合并2个输入的图像。特别的,AnimateTransitionShader使用的着色器必须有3个输入图像。第二和第三个图像叫做from和to,并且必须有个叫做progress的浮点类型的属性,特效会用这个值来计算动画到了哪里。之所以要有第一个图像,是因为Flash 需要对第一个图像进行过滤。在这个情形里,我们从位图图像里就可以得到着色器的输出,所以我们传第一个图像只是为了满足Flash Player的要求。
默认情况下,目标对象必须是一个UIComponent或者GraphicElement的子类。因为这个特效会在这些对象上拍一个位图的快照。
不过如果你想在别的类型的对象(这些对象上没有拍快照的函数)间进行混淆特效也可以,那就是提供自己自定义的BitmapData对象。
就想它的名字那样,AnimateTransitionShader特别适合用在过渡的情形中。
Wipe和Crossfade特效很容易使用,因为它们内部已经提供了需要的着色器。你只需要制定目标对象就行了,当然,用Wipe特效的时候还有方向需要设置。
上面的例子是很直白的,所以就不再解释了。
From http://linmingren2003.blog.163.com/blog/static/5675100320101062546773/
当Flex小组忙于Flex4, 忙于思考组件架构,皮肤和名字空间的问题时。Flash小组发布了Flash Player 10. FP10有好多很酷的特性,
其中之一是3D功能,有了3D功能,我们不仅可以x轴和y轴定位和定向 显示对象,还可以在z轴这么作。
FP10 不支持完全的3D引擎。比如,没有Z缓冲区。这意味着你在渲染复杂的3D模型时可能遇到重叠的对象。幸好FP支持正确的3D定位和方向。这样我们就可以创建一些酷毙的特效。比如翻页和Fisheye(现在的手机上几乎都是这个东东)Flex team利用了FP的这些新功能。 Flex4 包含了一些新的特效来让你在3D上操作对象。我们前面提到的变换特效都有对应的3D版本:
下面的例子演示如何操作UI元素的3D属性。
<s:Rotate3D id="rotator" angleYFrom="0" angleYTo="360" autoCenterTransform="true" effectEnd="effectEndHandler(event)" target="{button0}"/> <s:Move3D id="mover" duration="200" zBy="-30" repeatCount="2" repeatBehavior="{RepeatBehavior.REVERSE}" autoCenterTransform="true" effectEnd="effectEndHandler(event)" target="{button1}"/> <s:Button id="button0" label="rotate me" width="100" height="100" mouseOver="rotator.play()"/> <s:Button id="button1" label="move me" width="100" height="100" mouseOver="mover.play()" x="150"/>
第一个效果是让目标绕着y轴旋转360度(注意是围绕按钮的中心旋转)。第二个效果就是让按钮的z值减少30像素,看起来就像是
按钮变大了一样 (也就是按钮凸出来的感觉),然后又把z的位置变回去(注意repeatBehavior的值)
使用像素混淆着色特效
FP10支持像素混淆着色。Pixel Bender Tookit是Adobe实验室的一项技术。它允许你创建小的程序来在像素级别操作图像,它允许
多个输入的图像,并按你的要求来操作像素。这个过程就是在遍历每个像素时,都调用你的小程序来计算最终要显示的像素的值。
我们这里不讨论如何使用Pixel Bender Tookit,而是讨论如何在Flex里使用这项技术。
Flash对像素混淆的支持使得创建Flash 对象的自定义过滤器(filter,就是那样阴影效果)成为可能。Flash过滤器是更改对象如何显示在界面上
的一项强大的技术,比如给对象增加一个阴影,或者给按钮增加一圈光晕效果。
在Flex 4里有2种可以试用像素混淆着色功能的效果:AnimateFilter和AnimateTransitionShader.
使用AnimateFilter
AnimateFilter不只能用于像素混淆着色,也可以给任何的过滤器增加动画效果。比如可以一个组件周围的光晕增加动画效果。
<fx:Declarations> <s:GlowFilter id="glow" blurX="20" blurY="20" /> <s:AnimateFilter id="glower" target="{button}" bitmapFilter="{glow}" duration="600" repeatCount="0" repeatBehavior="{RepeatBehavior.REVERSE}"> <s:SimpleMotionPath property="alpha" valueFrom="0" valueTo="1"/> </s:AnimateFilter> </fx:Declarations> <s:Button id="button" x="100" y="100" mouseOver="if (!animating) { glower.play(); animating = true}" mouseOut="if (animating) { glower.end(); animating = false}"/>
上面的例子就是让按钮周围的光晕从透明变成不透明(感觉就是阴影慢慢显示的效果)。
下面的例子真正用到了像素混淆的特效:
<?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" width="500" height="298" creationComplete="creationComplete()"> <fx:Script> [Embed(source="images/GoldenGate.jpg")] [Bindable] private var GoldenGate:Class; private var goldenGateBD:BitmapData;//保存了GoldenGate的数据 [Embed(source="images/Harbor.jpg")] [Bindable] private var Harbor:Class; private var harborBD:BitmapData;//保存了Harbor的数据 private function creationComplete():void { goldenGateBD = (new GoldenGate()).bitmapData; harborBD = (new Harbor()).bitmapData; } private var newImageSource:Class; private function clickHandler():void { var bd0:BitmapData; var bd1:BitmapData; if (img.source == GoldenGate) { newImageSource = Harbor; bd0 = goldenGateBD; bd1 = harborBD; } else { newImageSource = GoldenGate; bd0 = harborBD; bd1 = goldenGateBD; } // crossfadeFilter.shader.data.frontImage.input = bd0; crossfadeFilter.shader.data.backImage.input = bd1; crossfader.play(); } private function effectEndHandler():void { //特效结束后把图片的源换成新的图片源 img.source = newImageSource; } </fx:Script> <fx:Declarations> <!--这是用Pixel Bender Tookit制作的外部过滤器,这个过滤器对2个图片进行合并--> <s:ShaderFilter id="crossfadeFilter" shader="@Embed(source='shaders/crossfade.pbj')"/> <!-- intensity的值越靠近1,说明最终的图片越接近第二个图片 看起来的效果就是从第一张图片过渡到第二张图片 --> <s:AnimateFilter id="crossfader" target="{img}" bitmapFilter="{crossfadeFilter}" effectEnd="effectEndHandler()"> <s:SimpleMotionPath property="intensity" valueFrom="0" valueTo="1"/> </s:AnimateFilter> </fx:Declarations> <mx:Image id="img" source="{GoldenGate}" click="clickHandler()"/> </s:Application>
使用 AnimateTransitionShader
另外一种在FLex里使用像素混淆着色的方法是使用AnimateTransitionShader的子类。目前只有Wipe和Crossfade 2种效果。
AnimateTransitionShade和它的子类的设计思路是给状态前后的目标对象拍个快照。然后构造一个ShaderFilter,把2个图片
分别作为输入和混淆器,然后在ShaderFilter上运行动画来在2张图片之间进行切换。
因为这些特效都是执行一些很固定的任务,定时合并2个输入的图像。特别的,AnimateTransitionShader使用的着色器必须有3个输入图像。第二和第三个图像叫做from和to,并且必须有个叫做progress的浮点类型的属性,特效会用这个值来计算动画到了哪里。之所以要有第一个图像,是因为Flash 需要对第一个图像进行过滤。在这个情形里,我们从位图图像里就可以得到着色器的输出,所以我们传第一个图像只是为了满足Flash Player的要求。
默认情况下,目标对象必须是一个UIComponent或者GraphicElement的子类。因为这个特效会在这些对象上拍一个位图的快照。
不过如果你想在别的类型的对象(这些对象上没有拍快照的函数)间进行混淆特效也可以,那就是提供自己自定义的BitmapData对象。
就想它的名字那样,AnimateTransitionShader特别适合用在过渡的情形中。
Wipe和Crossfade特效很容易使用,因为它们内部已经提供了需要的着色器。你只需要制定目标对象就行了,当然,用Wipe特效的时候还有方向需要设置。
上面的例子是很直白的,所以就不再解释了。
From http://linmingren2003.blog.163.com/blog/static/5675100320101062546773/
发表评论
-
Flex4之皮肤定制【Skin类和Skin类】
2013-10-05 19:19 1144第一、关于spark.skin.SparkSkin类的 ... -
基于 Cairngorm MVC 框架的 Flex 程序设计与开发
2013-10-05 18:38 995翟 峰, 开发工程师, IBM 吴 镝, IBM 实习生, I ... -
flex 4.5 simple spark button skinning
2013-09-24 22:09 1191Anyone missed the old simple me ... -
swf复制到其他文件夹出现安全错误的解决办法
2012-08-16 10:06 1222相信用Flash Builder/Flex Builder做开 ... -
在flex中使用model标签读取配置文件的方法
2012-08-16 09:54 9921.使用 Model标签 <mx:Model id=& ... -
Flex利用渲染器动态修改tree的icon图标
2012-08-16 09:50 1776Tree: <mx:Tree dataProvide ... -
flex xml操作
2012-04-25 10:48 1165今天我们来看看AS3中新的XML处理方法:E4X,直到现在,E ... -
Flex 创建过滤特定文件的FileReference
2012-03-01 16:13 1656下面的代码演示了Flex中如何创建一个可以过滤特定后缀文件的F ... -
Flex 根据图片url获取bitmapdata并绑定到多个Image
2012-03-01 14:40 3048private function getImage(url ... -
Flex 开始日期与结束日期DateField组件
2012-03-01 13:45 1826<?xml version="1.0&qu ... -
匹配已选中数据的某字段和下拉框数据
2012-03-01 08:41 1304package YD.Web.Common.Utils ... -
解决flex4 spark 找不到外观错误
2012-02-27 14:01 1905spark组件为了提高性能adobe做了很多努力,同 ... -
Flex垃圾回收和性能优化的一些总结
2012-02-27 11:30 1210本文是Kenshin根据一些对 ... -
【转】关于Flex未来走向的问答
2011-11-22 09:50 1766•转自:http://www.riadev.com/flex- ... -
Flex 关于validateNow方法
2011-11-18 10:42 2298validateNow(); 官方解释:验证并更新此对 ... -
Flex 数值转IP
2011-11-18 10:19 909package common { public cl ... -
Flex 关于遍历
2011-11-18 10:15 1042获取XML属性名、值 var x : XML = < ... -
Flash Builder编译的swf为什么在bin-debug下运行正常,复制到其他文件夹就不正常?
2011-11-08 16:54 1613相信用Flash Builder/Flex Bui ... -
Flex HttpService重用2
2011-09-28 13:30 1200HttpService工具类: package commo ... -
动态配置AMF与后台接口调用
2011-09-28 11:47 1508以下是一个AMF调用类: package common ...
相关推荐
4. **3D图形编程**:Flex 3D特效利用了Stage3D API,这是一个硬件加速的图形渲染接口,可以实现高性能的3D图形。理解基本的3D概念,如顶点、坐标系统、矩阵变换和光照,对理解源码至关重要。 5. **AS3 3D库**:...
1. **Stage3D API**: Flex 4中的3D特效主要基于Stage3D API,这是一个低级的硬件加速图形渲染引擎。Stage3D允许开发者直接访问GPU,进行高效的大规模图形处理,包括3D建模、旋转、缩放和动画效果。 2. **Spark组件*...
Flex特效在IT行业中主要指的是Adobe Flex,它是一个用于构建富互联网应用程序(RIA)的开源框架。Flex使用MXML和ActionScript编程语言,可以创建交互性强、视觉效果丰富的Web应用程序。在网页设计和开发中,Flex特效...
Flex翻书特效是一种在Web应用中模拟真实书籍翻页效果的技术,主要应用于电子图书、杂志或画册等在线阅读场景,能提供...OpenBook-翻书特效项目正是这样一个实践平台,它将帮助你深入了解Flex在实现高级UI特效上的潜力。
2. 实现杂志翻页特效: - 模拟物理行为:为了达到逼真的翻页效果,开发者需要模拟纸张的物理特性,如弹性、摩擦力和重力。这可能涉及到复杂的数学计算,如贝塞尔曲线来平滑动画过渡。 - 图形渲染:Flex3.0中的...
- Flash Professional:可用于创建和编辑Flex项目的图形资源,然后导入到Flex Builder中。 6. 珍藏价值: - 学习资源:这个源码可以作为学习Flex菜单导航设计和实现的实例,帮助开发者了解如何在实际项目中应用...
4. **ElasticEffect**:虽然Flex官方库可能没有直接提供“果冻”效果,但开发者可以通过自定义类和算法实现类似效果。一种常见的方法是模拟物理中的弹性碰撞,利用ElasticEffect类创建弹性反弹的效果。 5. **图形...
在本案例中,我们关注的是"flex火焰效果 特效",这是一个在Flex应用中创建动态、引人注目的视觉效果的技术。 Flex提供了一个强大的图形库,名为Flex元件库,其中包含多种预定义的UI组件,如按钮、文本框等。这些...
这个“flex特效”生成器很可能提供了对以上属性的图形化配置,用户可以通过拖动滑块或选择预设值来生成对应的CSS代码。这对于初学者来说是一个很好的学习工具,对于经验丰富的开发者来说,也是一个提高效率的实用...
Flex翻书特效是一种基于Adobe Flex和ActionScript 3(AS3)开发的互动式图书模拟效果,它使得用户可以通过类似真实书籍的方式翻页,提供了一种沉浸式的阅读体验。这个特效通常用于数字图书、电子杂志或者在线展示...
Flex 3D特效是Adobe Flex框架中用于创建三维(3D)用户界面和动画效果的技术。Flex是一款基于ActionScript和MXML的开源开发工具,它允许开发者构建富互联网应用程序(RIA)。在本案例中,"Flex 3D特效"特别关注了...
在标签中提到了"flex特效",这可能意味着这个压缩包包含了一些定制或者创新的视觉效果,可能是利用了Flex的高级特性,如遮罩(Masking)、滤镜(Filters)、混合模式(Blending Modes)或者3D转换等。这些特效可以...
Flex3D特效是一种在Adobe Flex框架中实现的高级视觉效果,它通过利用ActionScript 3.0的强大功能,为Web应用程序提供了丰富的3D体验。在本项目中,开发者提供了几个核心的3D特效,包括3D墙、鱼眼、水波纹以及开门...
2. **图形绘制**:Flex允许开发者使用Graphics类来绘制自定义图形,包括在鱼眼特效中的图像变形。通过改变图形的顶点坐标,我们可以模拟鱼眼镜头的扭曲效果。 3. **计算变形**:鱼眼效应的计算涉及到数学公式,主要...
Flex特效编辑器是一款专为开发基于Adobe Flex技术的游戏而设计的强大工具。它简化了特效的创建过程,使得开发者能够更加高效地构建具有视觉冲击力的游戏体验。Flex是一种开放源码的框架,主要用于构建富互联网应用...
在这个特定的场景中,"flex图形特效,类似于百度定位地图"指的是使用Flex技术实现的一种地图定位功能,它可能模仿了百度地图的某些特性,如实时定位、地图缩放和平移等。 首先,我们要理解Flex中的图形渲染机制。...
在本主题中,我们将关注Flex中的一个独特功能——标签云特效。 **标签云(Tag Cloud)** 是一种流行的数据可视化方式,常用于展示大量标签或关键词,其中每个标签的大小或颜色代表其出现的频率或重要性。在Flex中...
总的来说,"Flex 鱼眼特效"是一个结合了图形编程、交互设计和性能优化的项目,需要开发者具备扎实的ActionScript基础和良好的用户体验意识。通过学习和实践这个特效,开发者可以提升自己在Flex平台上的技能,创造出...
至于"flex特效整合"这个压缩包,它很可能包含了6种不同的Flex特效示例。这些示例可能涵盖以下几种常见特效: 1. **滑动/滚动效果**:在列表或容器中平滑地移动内容,常用于轮播图或导航菜单。 2. **淡入淡出效果**...
总的来说,《Flex Builder 4 Help》文档是学习和掌握Flex 4开发的宝贵资源,涵盖了从基础概念到高级技巧的全面内容。通过深入研究这个文档,开发者可以充分利用Flex Builder 4的功能,创建出高效、美观的RIA应用。