让flex3与flash cs3珠联璧合协作开发

flash cs3 与flex buidler 3各有千秋。写actionScript一定要用flex,做设计一定要用flash(当然photoshop也不可少)。当然有的人说了,我的actionscript语法熟的很,用记事本又有何妨,就好比开发.net,放着vs不使,用记事本编写代码。这样的怪人不是没有,但其实没有必要。.net类库浩瀚云烟,试问天下programmer,谁人全然知晓?flex类库虽然不及.net,但也着实不少。自命精通的人,不是天赋异禀,便是吹牛放屁。

高手不在于使记事本盲写代码,而在于如何利用现有条件使开发更快捷,成本更低。

flash cs3支持document class及类绑定,充许design与code分离,这便为flex与flash结合开发奠定了基础。下面sban 用一个小例子和大家控讨一下,如何让flex与flash珠联璧合,和协合作?

这是我用flex3 与flash cs3写的一个小的demo,方向风标可以拖动整个对象。play按纽可以让五星转动或停止。这是一个很简单的例子,主场景中只有一个影片剪辑。这个影片剪辑的时间线截图如下:

主场景,以及一个非最终影片剪辑(有一些逻辑,包含更小的影片剪辑),我不主张开辟太多的frame,一般情况下两个足够。第一frame用于初始化(init,相当于是这个影片剪辑的constructor),且只执行一次;第二年frame用于运行。

这个影片剪辑只在label frame 1中有一行代码为:mc.stop();,它告诉mc在开始时停止播放,等待play按纽通知。

这个影片是与一个文档类DocumentClassSample绑定的(如何绑定文档类,右击库中元件属性,可参见adobe labs)。而这个文档类不是用flash写,它位于DocumentClass.fla同目录sban.labs目录下,但它却是用flex编写的。

为什么要用flex编写?在目前flash的代码提示太让人失望了,而致力于编码的flex在这方面做的却相当棒(当然,flash代码编辑器并非一无是处,flash有漂亮的code format功能,还有选择一个语法词汇,比如addEventListener,右击查看帮助,则会转到addEventListener的函数参数定义处,这个功能还是相当靓丽的)。

如何在flex中编写flash的文档类?把flex project建在fla文件目录下显然不合适。不改变现有的flex work space设置,甚至project设置,在项目的属性上,打开flex build path | soruce path,把fla目录下的类库目录添加进来,如下:

尝试过建立目录快捷方式,不成。

点击下载此示例flash源码文件

上面那个swf是flash生成的。既然是flash与flex协合开发,那么我们或许更希望flash做出来的影片剪辑可以在flex直接使用。事实上,这是可以的,并且是推荐的。

这个swf便是用flex生成的,由于没有用rsl瘦身且编译参数是默认的,它有249KB。而上面那个只有2KB。不要因此放弃flex,加上适当的编译参数,大小与flash无异。flex在快捷开发方面是flash无法相比的。一般来说,后台程序,操作性强的管理程序,使用flex开发。

那么如果让flash开发的mc可以用于flex之中呢?方便很简单。

一,选中库中元件,点选命令|Make Flex Conponent(如果没有这个命令,可能需要安装FlexComponentKit

二,第一步之后,如果没有错误的话,将给出类似如下提示:

Component "DocumentClassSample" is ready to be used in Flex.

而DocumentClassSample也默认绑定了DocumentClassSample类,及它的基类也变成mx.flash.UIMovieClip。这一点在mc的右键菜单|属性...中

三,把基类改为flash.display.MovieClip,把DocumentClassSample改为sban.labs.DocumentClassSample。

四,打开mc右键菜单,选择导出SWC文件...,OK,在flex工作中引用导出的swc文件就可以了。

希望在flash cs4中,一至四的操作可以用一个命令完成。

sban 2008年3月6日于北京朝阳园

Retrieved from http://sban.com.cn/archive/2008/03/06/flex3-flash-cs3-work-together-better.aspx

posted @ 2008-03-06 02:41 sban 阅读(2237) 评论(3)  编辑 收藏 所属分类: flex

  回复  引用  查看    
#1楼 2008-03-06 07:08 | 生鱼片      
博主的文章虽然是flash的,但感觉可以发首页
————————————————————————————————
博主改的快啊,建议博主写个入门的系列,要不这我们也看不太懂啊
呵呵
  回复  引用  查看    
#2楼 2008-03-06 09:45 | 书生多命贱      
flex比flash在编码上好在什么地方呢?感觉用flash做好的东西再改到flex里,好像好像要改很多东西,包括继承的基类!麻烦楼主帮忙解释下,多谢
  回复  引用  查看    
#3楼 2008-03-06 17:08 | 破曉之陽      
其实FLASH真是个不错的东西。 我试了下。搜索了下我的电脑上的.SWF文件。结果搜索到了好多。嘿嘿。
看你写的,感觉你一定是个高手吧。当年我也蛮喜欢FLASH的。但是由于美术功底不好。所以放弃了,虽然没有去弄。但是那些快捷键 还是蛮熟悉的。。
看到这很亲切。。有空也玩玩。嘿嘿。