近期一个项目要求博主爱吾所爱(爱生活=爱技术)将 所有的.fla源文件里的图形都转为.svg矢量图,经常一番搜索之后,发现新版本的Flash Professional CC已经有此功能,但无奈我等用的机子是老版本CS4.0,那怎么办呢?安装CC需要太多的改变,主机是需要64位的系统,不可能为了这一个功能而装一个 新系统。于是再搜索,果然有解决办法,那就是安装插件!Github上有一高人搞了一个名为Extensible的项目,里面就有为Flash Professional制作的JSFL库(Extensible JSFL Library for Flash Professional:https://github.com/davebelais/Extensible/)。Dave Belais的工作极大的方便我的项目进展,在此向他表示感谢!

但是他的插件并不是完全适合博主爱吾所爱(爱生活=爱技术)的 需要。主要是因为项目有许多.fla的源文件,而这个插件安装完成之后,在Windows->Other Pannels 会出现SVG菜单项,打开之后,是一个可以调各种输出参数的面板——这一切的一切,表明了不能自动化处理所有的任务!这是不行的,得想办法解决。而出现在 Commands菜单中的Export SVG,也无法最终导出文件。无奈之下,只能研究大神的源代码,看看是否还有一线希望了。

下面就将研究结果给大家分享一下。

在Commands菜单的Export SVG.jsfl文件中,有这么短短的两句:

if(!this.extensible){fl.runScript(fl.configURI+”Javascript/Extensible/init.jsfl”);}
(function(ext){
extensible.que.push(
new extensible.SVG()
);
})(extensible)

说明init.jsfl文件是至关重要的。此插件都是建立在Extensible这个“类”(姑且这么叫)之上,而Extensible类,就是在init.jsfl文件中定义的。

1. function Extensible(options){…}定义了这个类的属性。

2. Extensible.prototype={…}定义了类的方法。

3. extensible.load( [ ...]),将插件的其他脚本载入进来。

现在分析一下,在有一个Fla文件打开的情况下,在SVG面板中能够成功生成SVG文件,而用Commands菜单里的却不行,可能是缺乏对文件的 引用吧。那么,在Extensible中对文件的引用是怎样的机制呢?可以找到set doc和get doc的定义,原来返回的就是fl.getDocumentDOM()啊。

文章来源:http://www.loverecorder.com/?p=5

【转载】通过JSFL让Flash Professional CS4或CS5拥有批量FLA导出SVG的功能的更多相关文章

  1. adobe 蛋疼的套装, 想安装一个Flash Professional CS6,标准版还没有...

    产品比较 查看内容 查看各 Creative Suite 6 版本的组件. Design Standard Design & Web Premium Production Premium Ma ...

  2. Flash Professional CS6 安装zxp插件

    说明 头两天因工作原因需要使用DragonBones,他的工作方式是的Flash Professional CS5.5以上的环境. DragonBones提供的是一个文件名为:xzp的文件,在Wind ...

  3. 最近比较迷flash professional cc 做PPT,做一个flash做动态打字效果的教程

    想做一个flash打字效果.网上的方法要不是太繁琐,要不然就是各种遗漏.在这边做一个行之有效的flash做打字效果教程. 首先我用的是最新版本的flash professional cc .但是应该和 ...

  4. SWF运行时判断两个DisplayObject是否同个类型,属于flash professional库中的同一个元件

    一般我们判断两个实例对象是否同样的类型,可以用typeof得到对象类型,然后用==号比较. typeof适用于原生类型. 而对于自定义类型,虽然typeof得到的都是Object,但还有更强的招数:g ...

  5. 转载-STM32片上FLASH内存映射、页面大小、寄存器映射

    原文地址:http://blog.chinaunix.net/uid-20617446-id-3847242.html 本文以STM32F103RBT6为例介绍了片上Flash(Embedded Fl ...

  6. 创建和导出SVG的技巧(转载)

    本文转载自: 创建和导出SVG的技巧

  7. 【转载】Serial NOR Flash and U-Boot

    转载自:http://blackfin.uclinux.org/doku.php?id=bootloaders:u-boot:serial-flash U-Boot supports serial N ...

  8. jsfl 生成flash 工具面板

    利用flash组件的List做界面,先从flash中拖出List组件,然后删除.绑定Main类. package { import flash.display.Sprite; import flash ...

  9. 转载:div和flash层级关系问题

    转自:http://sin581.blog.163.com/blog/static/860578932012813112334404/     问题: ie下默认好像div层级没有flash层级高,也 ...

随机推荐

  1. MUI 二维码扫描并跳转

    1 首页 index.html <li id="html/barcode.html" onclick="clicked(this.id)"> < ...

  2. dialog里面数据更新问题

    在实际开发中经常会用到showDialog(int id)的方法来展示一个对话框,但是会遇到一个Dialog展示之后下次再show的时候对话框的界面还是上次展示的那个,而不是我们想象的界面.很多时候我 ...

  3. MQTT的学习研究(十六) MQTT的Mosquitto的window安装部署

    在mqtt的官方网站,有许多mqtt,其中:MosquittoAn Open Source MQTT server with C, C++, Python and Javascript clients ...

  4. Android 7.1 SystemUI--任务管理--场景一:长按某个缩略图,拖动分屏的流程

    TaskView 类的长按事件 onLongClick 方法内发送了 DragStartEvent 事件消息,该 DragStartEvent 事件消息由 RecentsView,TaskStackV ...

  5. bootstrap之

    一.字体图标 <button type="button" class="btn btn-primary btn-lg"> <span clas ...

  6. codevs 5966 [SDOI2017]硬币游戏

    输入描述 Input Description 输入输出数据精度为1e-10 [题解] #include<cstdio> using namespace std; ; char s[N][N ...

  7. 【黑金原创教程】【Modelsim】Modelsim原创教程连载导读【连载完成,共六章】

    [第一章]Modelsim仿真的扫盲文 [第二章]Modelsim就是电视机 [第三章]理想就是美丽 [第四章]激励文本就是仿真环境 [第五章]仿真就是人生 [第六章]结束就是开始

  8. nutch 1.7导入Eclipse

    1.下载Nutch1.7的包 apache-nutch-1.7-src.zip,解压之后应该包括 bin,conf,src等目录 2.将解压之后的 apache-nutch-1.7 文件夹放到ecli ...

  9. c# WinForm 边框阴影窗体

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. jdbc将数据库连接信息放置配置文件中

    目录如下: jdbcConnection.java: package jdbc01; import java.io.InputStream; import java.sql.Connection; i ...