浏览 1488 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-20
最后修改:2009-05-20
用一些开源的AS3组件倒可以做到体积小,但却无法在Flex中可视化开发。如果可以按照自己的需要来实现一些可视化的组件,那应该会比较好。 然后研究了UIComponent,UIMovieClip,耗费了N多精力,考验了N次人品,终于有所发现(具体过程不说了,比较痛苦)。原以为只要组件实现了IUIComponent就可以预览了,结果不是,里面碰到很多奇怪的问题。 主要实现思路如下: 1、首先要为开发的组件单独建一个Flex Library Project,否则在Flex Project中无法预览; 2、自定义mx.core.UIComponent或mx.flash.UIMovieClip类,让这两个自定义类实现IDeferredInstantiationUIComponent接口,这样做是为了让生成的swf能够使用在mxml中定义的自定义组件,作为实验我只实现了IDeferredInstantiationUIComponent接口(当然也可以使用官方的UIMovieClip实现,不过这个类没有源码,可以反编译使用了UIMovieClip的swf得到); 3、然后让自定义组件继承于刚才实现的UIComponent或UIMovieClip(如果把这两个类改成其他名字,好像也预览不了,真是让人郁闷,难道FlexBuilder还不是面向接口编程); 实现主要包括以下文件,详情见附件: mx.flash.UIMovieClip,没有使用官方实现的UIMovieClip,自己实现便于搞懂运行机制 org.eleven97.fcl.core.FlexibleComponent,主要是避免直接使用UIComponent或UIMovieClip org.eleven97.fcl.controls.Rect:自定义组件Rect 到此一个在FlexBuilder可以显示的Rect已经开发完成。但可惜遇到太多离奇的问题,无法继续深入下去。 比如在FlexibleComponent中如果直接使用了_initialized,Rect就无法显示了;或者有时候覆盖了一些protected方法(不影响显示的方式)也无法显示了。 希望Flexer们能对可视化的Flex组件感兴趣,并且一起来探讨这些问题。 文笔不好,希望大家谅解。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |