JSFL其实是被大家忽略的重要功能
在Flash的菜单栏中,有一个命令菜单,其实这就是JSFL,她很简单,就是你选下菜单的子项目点击就可以了。
她可以神奇的实现一些看似复杂的功能,比如重命名所有库元件,导出所有库的图片声音视频等等。
一些废话
由于前一短时间学习了Java Script,故对于JS有了一定的了解(其实AS3和JS有很多类似的地方)。
最近对Flash JSFL有一点点兴趣,于是学习之,随着学习的深入渐渐的感觉JSFL相当腻害!
于是乎,我写了一些自己认为会在Flash制作中用到的JSFL命令,于是便想着分享给大家使用,以便更多人受益(这也一直是我追求的)。
编写JSFL版本为Flash CS6和Flash CC 2014,AS版本为3.0,PC平台为window,故在此基础上运行JSFL基本不会出现问题。
如果在高版本低版本,报错或者异常,可以查看源JSFL代码,进行修改或者删除,部分JSFL命令或许不适合低版本或者高版本。
寻找JSFL命令存放地址
在Flash中新建一个 "FlashJavaScript 文件" ,将下面这条按钮粘贴到代码面板中,然后点击面板上面的播放按钮(▶),在输出面板中会显示JSFL命令的存放路径地址,然后将所有的TKCB命令文件夹复制到其中就可以了。在Flash级功能文件夹中也有对应的JSFL命令。
fl.trace( fl.configDirectory + "\Commands" );
废话不想太多,下面是所有JSFL命令的名称和简要说明(本想开很多子帖子,但那样太累了,哈哈):
~~~~我会持续,不断更新的(2015.10.1)~~~~~
Flash级功能
// FlashCC才可以使用这个功能,导出的视频只能是mov格式
TKCB_将当前文档导出为mov视频(Flash CC).jsfl
// 哈哈,又是一个用处不大的功能,练手的
TKCB_将当前文档导出为swf.jsfl
// 很久之前我以为Flash CC不再提供发布为放映文件(.exe和.app),但是没想到CC版本提供了这个功能的JSFL命令 // 于是我无耻的将这个命令作为加入到TKCB命令系列,以方便大家使用
// projectorUI.xul这个文件是这个命令会用的的UI文件,请务必复制粘贴
TKCB_将当前文档导出为放映文件(Flash CC).jsfl
// 为了更加方便准确的找到JSFL命令的存放地址,于是写了这条命令(或许也是多此一举把)
TKCB_寻找JSFL命令存放地址.jsfl
导出Flash资源
// 资源(图片、声音、视频等)会导出至与Flash文档同名+(声音)的名称的文件夹中,父文件夹为自己选择的文件夹
TKCB_声音_将库中所有声音导出至文件夹中.jsfl
TKCB_视频_将库中所有视频导出至文件夹中.jsfl
TKCB_图片_将库中所有位图导出至文件夹中.jsfl
// 鼠标在Flash舞台中选中多少个位图,就导出多少个为到自己选择的文件夹中(随机命名),并且以原始的类型保存(JPG或者PNG)
TKCB_图片_将鼠标(框)选的位图导出.jsfl
批量发布fla文件
// 对于好多人来说这个功能或许是唯一的有用的功能吧!!!(至少某大神是这样说的)
// 使用默认的发布设置批量发布,如果默认的发布设置有swf和html或更多,则会发布对应的文件
TKCB_批量发布fla文件(默认发布设置).jsfl
// 有些时候,只需要发布SWF文件,则可以使用下面的命令
TKCB_批量发布fla文件(只发布SWF文件).jsfl
// 有些时候,只需要发布SWF和HTML文件,则可以使用下面的命令
TKCB_批量发布fla文件(只发布SWF和HTML文件).jsfl
// 有些时候,只需要发布SWC文件,则可以使用下面的命令
TKCB_批量发布fla文件(只发布SWC文件).jsfl
批量设置fla文件
// 与“设置库资源的类绑定”里面的功能是一样的,只是这个是批量设置多个fla文件的库资源的类绑定
TKCB_批量设置库资源的类绑定(清除所有的类绑定).jsfl
TKCB_批量设置库资源的类绑定(设置所有图片的类绑定 名称要唯一).jsfl
TKCB_批量设置库资源的类绑定(设置所有影片剪辑的类绑定 Sprite类).jsfl
// 与“设置所有图片”里面的功能是一样的,只是这个是批量设置多个fla文件的所有图片为无损和平滑属性
TKCB_批量设置图片属性(无损和平滑false).jsfl
TKCB_批量设置图片属性(无损和平滑true).jsfl
// 与“整理库资源”里面的功能是一样的,只是这个是批量整理多个fla文件的库资源
TKCB_批量整理库资源(以随机方式 重命名所有资源 乱).jsfl
TKCB_批量整理库资源(以序列方式 分类命名整理至文件夹 英文).jsfl
TKCB_批量整理库资源(以序列方式 分类命名整理至文件夹 中文).jsfl
设置库资源的类绑定
// 使用这个命令进行快捷的类绑定要注意几个事情
// 1.这个JSFL命令会忽略设置那些已经绑定了类的图片或声音
// 2.图片名称务必保证是可以命名为类名称的“英文+数字+下划线”组合,如果不能保证,可以使用“整理库资源”中的JSFL进行批量重命名
// 3.使用JSFL绑定类之后,只有点击一下库面板,图片或声音的链接名称才会显示出来
// 4.使用JSFL绑定类之后,在库面板中的AS链接栏中双击删除类名称,结果类名称仍在显示(显示残留),但是实际点开属性其实已经删除了(自己手动在属性里面设置可以删除显示残留)
TKCB_设置所有图片的类绑定(名称要唯一).jsfl TKCB_设置所有声音的类绑定(名称要唯一).jsfl
// 和图片的类绑定差不多,只不过这个是对影片剪辑的自定义的类绑定(有prompt对话框),名称也要是唯一的
TKCB_设置所有影片剪辑的类绑定(自定义类).jsfl
// 黑羽大侠曾经说过,如果将没有用到时间轴和帧代码的影片剪辑设置为Sprite类型,则可以提高效率,故实现之 // JSFL代码自动识别,会忽略所有帧代码或有时间轴(>1)影片剪辑
TKCB_设置所有影片剪辑的类绑定(Sprite类).jsfl
// 第一个是清除所有的类绑定,下面三个分别清除对应的类绑定
TKCB_清除所有的类绑定.jsfl
TKCB_清除所有声音的类绑定.jsfl
TKCB_清除所有图片的类绑定.jsfl
TKCB_清除所有影片剪辑的类绑定.jsfl
设置所有图片
// 常常我们需要将库中的图片设置为指定的压缩格式,可以使用下面的命令
// JPG会改变所有图片的压缩格式,而无损只会将带通道的PNG图片设置为无损(因为JGP没必要设置为无损)
TKCB_设置所有图片格式为JPG.jsfl
TKCB_设置所有图片格式为无损.jsfl
// 如果想要以原图片的效果显示,就用下面的命令吧
TKCB_设置所有图片品质为导入的JPG数据.jsfl
// 常常我们需要设置库中图片的自定义品质,以追求更好的显示效果或者更好的压缩大小,可以使用下面的命令
TKCB_设置所有图片品质为50.jsfl
TKCB_设置所有图片品质为60.jsfl
TKCB_设置所有图片品质为70.jsfl
TKCB_设置所有图片品质为80.jsfl
TKCB_设置所有图片品质为90.jsfl
TKCB_设置所有图片品质为100.jsfl
// 设置库中所有图片的平滑选项,下面命令可以让你一键搞定
TKCB_设置所有图片平滑(true).jsfl
TKCB_设置所有图片平滑(false).jsfl
// 设置库中所有图片的消除马赛克选项,下面命令可以让你一键搞定
TKCB_设置所有图片消除马赛克(true).jsfl
TKCB_设置所有图片消除马赛克(false).jsfl
整理库资源
// 常常很多人很多人都不注意元件的命名和整理,于是乎,就让程序来做这个工作吧
// 以“TKCB_”为前缀,以0-10的数字为后缀序列重命名所有资源
TKCB_以序列方式重命名所有资源.jsfl
// 在弹出的prompt(提示)对话款中输入前缀名称,注意不要是不可命名的字符,之后程序会自动以0-10的数字为后缀序列重命名所有资源
TKCB_以序列方式重命名所有资源(允许自定义前缀).jsfl
// 这个也是有prompt(提示)对话框,自定义命名前缀
// 但这个命令的强大之处在于将资源文件按照类型(图片、声音、视频、元件、字体、组件六种)自动放置在相应的文件夹
// 这两个的不同之处在于一个是创建的中文文件夹,另一个是英文
TKCB_以序列方式重命名所有资源(并整理至文件夹 中文).jsfl
TKCB_以序列方式重命名所有资源(并整理至文件夹 英文).jsfl
// 与上面两个差不多,这个中文指的是文件夹名,资源的名称都是英文的,这个不能自定义命名前缀(但更简单!)
// 之所以会有这样一个JSFL,是因为我在实际工作中遇到很多Flash制作人员都不熟悉英文并且没有良好的命名 TKCB_以序列方式重命名所有资源(并分类命名整理至文件夹 中文).jsfl TKCB_以序列方式重命名所有资源(并分类命名整理至文件夹 英文).jsfl
// 有时候我们希望所有库的资源都是英文的,下面命令将随机命名(英文+数字英文下划线)
TKCB_以随机方式重命名所有资源(乱).jsfl
// 以每一个单独的资源类型批量重命名,允许自定义前缀,有:字体、影片剪辑、图形元件、按钮、图片、声音、视频
TKCB_以序列方式重命名所有(字体).jsfl
TKCB_以序列方式重命名所有(影片剪辑).jsfl
TKCB_以序列方式重命名所有(图形元件).jsfl
TKCB_以序列方式重命名所有(按钮).jsfl
TKCB_以序列方式重命名所有(图片).jsfl
TKCB_以序列方式重命名所有(声音).jsfl
TKCB_以序列方式重命名所有(视频).jsfl
其他(收集的各路大神写的JSFL命令) // 这个是“General_Clarke”大神写的命令,盗用之(我一向如此)
// 项目开发过程中,如果不注意,会为某些文本框设置了动画消除锯齿,或者特殊字体 // 这些字体可能未嵌入,这将导致最终用户的文本框中显示出系统默认字体,或者干脆不能显示文字 // 很多时候出现,拿到一个fla后(尤其是开源第三方fla),弹出提示找不到字体,询问是否使用设备字体 // 使用设备字体会有损效果、造成文字出格等问题。 // 但程序员根本不知道哪里的文本框被换用了设备字体。 // 此jsfl工具能寻找出fla文件中使用特殊字体或特殊渲染方式的全部文本框 // 最终将分析结果显示在输出面板中(fl.trace)
General_Clarke_找出未使用设备字体的文本框.jsfl // 这个是“闪刀浪子”大神写的命令,盗用之(我一向如此)
// 下面是这个有什么需求的情况下使用这个JSFL命令: // 我们需要把每一位图都变成一个MC,同时把这个MC作为一个导出类来用 // 每一个位图都有一个唯一的导出类名 // 所有的位图变成MC之后都是左上角作为原点 // 处理完的位图和MC都在库里面分目录存放,资源的种类作为目录 // 位图的文件名中记录了种类、名称和导出类名。 // 该命令中图片命名强制规则:【种类_名称_导出类名】,否则命令会报错 闪刀浪子_图片包装成MC后设置类绑定并分类(图片名称有强制规则).jsfl
下载JSFL命令集
下载的文件夹中包含:
扩展 ADOBE FLASH PROFESSIONAL(我学习时候看的官方的PDF文件)
_JSFL命令简介
_JSFL命令存放地址(找到JSFL命令的存放地址,直接复制命令进去就可以了)
_JSFL命令版本说明
TKCB_XXX(若该JSFL命令的文件夹)
|