» 阅读全文
一个简单实用的滤镜
walktree 发表于 2008-09-12, 11:29 PM
Tags: AS, Pixel Bender
在flash中使用自定义滤镜
walktree 发表于 2008-09-10, 1:24 AM
在http://www.mikechambers.com/blog上看到关于在Flex中使用自定义滤镜的文章。早在去年,adobe在labs上放出了一个名为AIF ToolKit的软件,如今已经更名为Pixel Bender,使用一种名为Hydra的语言,可以编写滤镜。Flash player 10现在已经支持使用自定义滤镜了。
可以直接使用最新版本的Flex SDK进行编译,只要SDK版本高于3.2即可,当然,还必须安装最新版本的Flash Player 10。去opensource站点下载最新版本的SDK就可以了。另外,adobe站点上,收集了很多人写的滤镜,我下载了几个点击率最高的试了试,感觉不错。
这是一个小例子,必须安装Flash Player 10 才能观看:
[kml_flashembed movie="/blog/wp-content/uploads/2008/09/fliterEx.swf" height="204" width="387" /]
要使用pixelbender制作的滤镜,首先需要在pixelbender中将pbk导出为pbj格式的文件供flash使用,然后在as中嵌入该文件,就可以使用了。如果希望在as中控制滤镜的参数,必须使用data接口。
Tags: as3, Hydra, Pixel Bender
关于Flex Builder 3连接Sql Server时无法通过测试的问题
walktree 发表于 2008-08-31, 5:32 AM
FB 3提供了数据连接向导,包括Asp.net、php、Java、 ColdFusion等,其实也就是自动生成一系列的文件,包括服务器端和客户锻的,用作学习示例挺不错。
如果是Asp.net开发者,使用的是Sql Server 2000,可能会遇到一个问题,那就是建立数据库连接时总是无法测试通过,数据库用户名和密码都是对的,库名也是对的,但按“Test Connect”时,总是报错,详细信息中是一堆jdbc的异常。
解决方法:安装Sql Server 2000 sp3,就ok了。因为FB使用的是java连sql server,实际开发中使用C#是不会有这个问题的。
自定义itemRenderer引发的诡异问题之解决方法
walktree 发表于 2008-07-29, 1:18 AM
之前写过一篇关于itemrenderer的帖子:http://www.fluidea.cn/blog/archives/82,这里算是续。
自定义itemRenderer是个强大的功能,但如果使用不当,就会出现很多奇怪的现象,比如内存泄露就是一个很常见的问题。
常见的两种问题: 1.在自定义itemRenderer中使用creationComplete事件来处理数据 有些朋友习惯在组件中把初始化处理都写在creationComplete事件处理函数中,一般情况下,这没有问题,然而在自定义itemRendere,却不合适。 因为itemRenderer是循环使用的,也就是说,itemRendere在第一次创建后,可能用来显示不同的数据,而本身只被创建一次,creationComplete事件只发生一次,自然就会出问题。 这个问题很常见,可能引发很多奇怪的现象,比如对象无法被清除,资源释放不完全,内存泄露等等。 那如何避免?我们可以覆盖data存取器的setter方法,比如:
override public function set data(value:Object):void{ //加上自己的代码 }
2.删除数据后系统资源仍被占用 在解决了第一个问题后,还是有可能出现资源无法正确释放的问题。比如TileList组件可显示40条数据,每一条数据都包括一张位图。当删除数据,从50减少4时,会发现显示的数目确实减少了,但系统消耗的资源却不变。数据量越大,这个现象就越明显。 问题出在哪里?根据现象,从逻辑上推测:数据量减少,也就是已有的itemRenderer实例被“删除”的时候,并没有释放资源。 这就是问题所在,已有的itemRenderer并不会被删除,一旦创建就一直存在,所谓的“删除”,仅仅是将它变为不可见,而占有的资源不会自动释放,如果其中包括了位图、声音、动画,将一直存在,成为系统资源杀手。 我提供的解决方法:监听itemRenderer的hide事件,在变为不可见的同时,手动释放资源。也许有其它更好的方法,就等着你去发现了。
Tags: itemrenderer
AIR做的flv编辑器
walktree 发表于 2008-07-28, 2:02 PM
这是一个超强的Air程序,可以解析flv文件,合并flv文件,导出mp3、swf等等,目前还在beta阶段,但功能已经很强大,真正的桌面程序: http://www.richapps.de/?p=134
PS:http://actionscriptnotes.com/blog提供了好几个pureMVC的实例程序,包括一个五子棋的游戏源代码,是学习pureMVC的好资源。
Tags: Air
Flash读取pdf?
walktree 发表于 2008-07-10, 2:16 AM
虽然目前有开源的 http://alivepdf.bytearray.org/,可以使用用flash/flex 创建pdf,但目前还没有看到能解析pdf,来用flash读取pdf的类库。
这里有一个例子: http://pdfmenot.com/view/http://www.irs.gov/pub/irs-pdf/fw4.pdf 后面的“http://www.irs.gov/pub/irs-pdf/fw4.pdf”可以修改为网上任意的pdf,似乎实现了这个功能?
仔细分析后,再发现,原来是后台先将pdf转为swf,然后再显示的。 AIR中已经可以看pdf了,不知道flash中什么时候才可以?既然能够写出生成pdf的库,要读取应该也不远了?
升级到Wordpress2.5.1
walktree 发表于 2008-05-10, 3:43 PM
感觉速度确实有提高
顺便测试刚装的Air-badge 插件:
[airbadge]walkingTree,http://www.fluidea.cn/blog/wp-content/uploads/2008/05/walkingtree.air,1.0, http://www.fluidea.cn/blog/wp-content/uploads/2007/12/logo21.jpg[/airbadge]
Tags: Air
理解itemRenderer
walktree 发表于 2008-05-07, 5:56 AM
» 阅读全文
Tags: Flex, itemRenderer
Flex程序开发心得小结
walktree 发表于 2008-04-03, 1:31 AM
和Flash的开发环境相比,Flex提供的组件库确实很诱人,但由于功能太全面,导致程序的体积大,有时候使用不当,可能会影响程序运行效率。
在Flex的帮助手册中,有一个专门的章节讲了程序的优化,下面是我结合帮助作的几点小结:
1、避免容器的多级嵌套,减少相对尺寸、相对定位的使用。 在使用百分比来给容器内的元件定尺寸,一旦容器中的任何一个元件的位置和尺寸变化,都会引发容器对所有子级的重定位动作。如果嵌套的级别很深,这个计算量会很大。
2、尽量使用轻量级的容器 Canvas是体积最小的容器,它只支持绝对定位。很多时候,都可以使用它来代替HBOx和VBox。另外,Canvas也是我们编写自定义容器性质组件的一个首选。它具有容器的基本功能,利于扩展。
3、避免使用大体积的组件,比如DataGrid、AdvancedDataGrid 大个子组件的功能强大,但开销也是非常大的。由于功能的复杂性,使得皮肤、样式、itemRenderer的实现都格外复杂。
4、处理数据时多用分页的方式 在使用数据类型控件时,尽量减少数据一次的显示量。比如TileList(更正:应该是Tile,TileList相反),它会把数据一次性全部创建,不管是不是需要显示,这样很浪费资源。ViewStack 、TabNavigator等在处理元件时,并不是一次创建,只要元件在第一次被显示时才创建,这样,就避免的不必要的开销。
5、setStyle和styleName Flex 组件的皮肤都是可视化元件,组件在自身初始化时,会使用当前的样式比如styleName完成所有皮肤元件的绘制。 如果我们在运行期间通过setStyle修改了组件的样式,组件的尺寸、位置就会作相应调整。联系到第一条,如果组件位于一个层级很深的容器中,也会有一个大的计算量。
Tags: Flex
Air程序 - Flash decompiler
walktree 发表于 2008-03-21, 2:58 PM
flash-decompiler是一个开源项目,使用Air + flex开发的SWF反编译器。
地址是:http://code.google.com/p/flash-decompiler/
有兴趣可以下载源码试玩下。目前能够解析出SWF文件(支持flash player9)的头信息,标签和 class名等,还在开发中。
另外,程序使用了Cairngorm框架,值得学习。