Tag Archive: JSFL


Introduce KafeComponent – Part 2

(接Part 1)从设计师那里拿到文件后,大多需要在此基础上做应用逻辑的开发,首先的任务是获取时间轴上的组件对象。由于我们采用的不是MovieClip绑定类的方法,所以需要其他方法来获取组件的引用。

方法1:设计时给组件实例命名。比如在时间轴上的MovieClip名为mc,其中包含了KafeButton组件,取名为comp。那么程序员可以用mc.comp来引用KafeButton组件。这种是最简便的方法。

方法2:如果不想用第一种方法,或者设计师忘记给组件实例命名了怎么办。我们还可以在开发时使用工具类KafeHelper提供的getComponent()方法来代替。这个方法会查找并返回位于MovieClip参数的子级上的组件实例。

当然我们还可以用纯代码建立KafeComponent(先到下载页面下载swc)。实际上,我在这里偷换了一下概念:在时间轴上的那些组件并不是真正的KafeButton,而是KafeButtonComp。前者是逻辑类,后者则是包含了前者的可视化组件。弄懵了吧,我们在后面接着来讲。在纯代码的情况下,我们通常不会建立CompBase子类的实例(也就是组件面板的Kafe目录里看到的那些专门给设计师用的组件),而是直接用AbstractBehavior的子类实例来替代。我们还是拿KafeButton来举例,初始化实例的代码如下:

var mc:MovieClip = new SMovieClipFromSWC();  // 这次我们自己从库里建一个MovieClip
var btn:KafeButton = new KafeButton(mc);
addChild(mc);

简化了一点的写法:

var btn:KafeButton = new KafeButton(new SMovieClipFromSWC());
addChild(btn.skin); // btn.skin 是对MovieClip实例的引用

View full article »

Introduce KafeComponent – Part 1

开发KafeComponent陆陆续续有两年的时间了。设计的初衷源自于一个动画师普遍的需求:每次用MovieClip做按钮都要绑定类,相当繁琐而且不便于修改。后来受到Progression框架里提供的组件的启发,改用复合的编程方式来进行开发。再后来又借鉴了Reflex里关于behaviors的思路,再一次进行了大规模的重构。Big Spaceship的display包也给我了很大的启发。一步步发展到今天这个比较稳定版本。

从最初的需求上就决定了这套组件与Flash自带的组件或者ASWing之类的组件的不同之处。我的目的就是为了能够让设计师延续自己的工作习惯,在不需要接触任何代码的情况下就能实现大部分的效果,同时程序员也能避免大量的重复劳动。这也正契合了我所推崇的SWC工作流程。所以在相当长的一段时间里,KafeComponentRobotGaiaAnt都是平行开发的。

前面废话了那么多,我们还是赶紧来看看这套组件提供了些什么功能吧。

首先到下载页面下载最新版本的zxp文件。下载完成后双击打开Adobe Extension Manager完成安装。

注意!中文系统下的Adobe Extension Manager有个bug。如果你安装完以后在Flash IDE里面找不到KafeComponent的话。请到以下目录手动把zh_CN下的文件复制到en_US:

Windows: C:\Users\[your username]\Local Settings\Application Data\Adobe\Flash CS5\en\

Mac: /Users/[your username]/Library/Application Support/Adobe/Flash CS5/en/

KafeComponent安装完成后会在Commands菜单下生成一个Kafe命令包。在组件面板下也会有对应的组件,主要分为两个包:kafekafeUI。以下我们用两个视频教程来分别演示一下基本的使用方法。在墙外的朋友请直接打开这两个链接12

View full article »

不知道大家是否还记得这一套Flash扩展,距离上次正式发布已经快四年的时间了。其实一直有在陆陆续续的整理和收集,但是由于工作重心转移的原因,Flash的项目做得越来越少,所以进度一直都很慢。

最近终于找了点时间把这套东西整理了一下,重新打包推出,改名为KC Command Package v3.0。主要的改动如下:

  1. 去掉了旧版所有的非命令扩展,主要是一些面板类的,因为太老久了,很多是AS2的东西,而且我也很少用。现在的v3.0只保留有用的JSFL命令,安装好以后从Flash的Command菜单调用就可以。
  2. 改写了部分命令,使其适用于AS3。
  3. 新增了数条从各个国外Blog收集的有用命令。
  4. 按照命令的功能重新分包(CS4的命令菜单可以支持子菜单了,避免了装太多命令后UI过长的问题)。但是分包以后,我发现在给命令分配快捷键上会有Bug,把你想加快捷键的命令移回根目录可能会解决这个问题。

v3.0的结构如下:

  • ActionScript
    辅助AS开发的命令:设置元件的基类、自动复制MC为public变量、将填充信息转为AS3代码等
  • Animate
    常用的动画辅助命令:移动到左上角、随机设置属性、随机设置缓动等
  • File
    文件类命令:自动发布一个目录下的所有文件等
  • Layer
    层操作相关的命令:复制层、锁定所有Mask层等
  • Library
    操作资源库的命令:批量更改位图属性、批量改名等。CS4的库面板功能有所增强,所以把旧版一些重复的命令去掉了
  • Setup
    自动插入常用的帧标签等命令
  • Utils
    其他常用的命令:去掉位置后面的小数点,快速插入stop帧等

大家可以去这里下载,欢迎在下面留言交流使用中遇到的问题。

注1:Package里的命令并非完全是我开发的,部分命令的著作权属于原作者(我都保留了作者信息)

注2:我没有打包成安装格式,请解压后自行复制到Flash的插件目录

Powered by KevinCao.com ©2010 | Platform: WordPress | Theme: Motion
kevincao.com