近期一个项目要求博主爱吾所爱(爱生活=爱技术)将 所有的.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. java基础---->FilenameFilter之文件过滤

    FilenameFilter用于对列表中文件名的过滤,今天我们就开始java中FilenameFilter的学习.好多年了,你一直在我的伤口中幽居,我放下过天地,却从未放下过你,我生命中的千山万水,任 ...

  2. vue中npm install 报错之一

    报错原因: 这是因为文件phantomjs-2.1.1-windows.zip过大,网络不好,容易下载失败 PhantomJS not found on PATH 解决方案一: 选择用cnpm ins ...

  3. WEB安全第四篇--与数据库的亲密接触:SQL注入攻击

    零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...

  4. AngularJS』一点小小的理解

    『AngularJS』一点小小的理解   AngularJS 是一个前端的以Javascript为主的MVC框架.与AngularJS相类似的还有EmberJS. 随着时代在进步,各种各样的开发理念与 ...

  5. xcode7/ios9中 低版本app运行时,屏幕上下出现黑边的问题

    xcode从低版本升级至 7.0或更高版本后,某些低版本app再次编译运行后,发现app在设备上运行时,会在上端和底部 出现黑边的现象.这导致app的展示界面跟缩水了一样,变得十分丑陋. 对于这一问题 ...

  6. java类的初始化的默认值

    转自:http://blog.csdn.net/abc5382334/article/details/18254517 对于类的成员变量   不管程序有没有显示的初始化,Java  虚拟机都会先自动给 ...

  7. Redis字符串类型的操作

    set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000  , 9秒有效 注: 如果ex ...

  8. C++,一些常用的知识点

    用typedef定义数组.指针.结构等类型将带来很大的方便,不仅使程序书写简单而且使意义更为明确,因而增强了可读 性. C++中是用关键字typedef定义一个标识符来代表一种数据类型,该标识符可以象 ...

  9. [MongoDB] 用户权限管理

    在新环境按照原来的步骤新装了MongoDB,结果出现了一些错误,才发现版本升到了2.6.1,用户权限相关的内容全部改掉了. 现在使用Role来管理用户,有一些内置的Role,也可以自定义Role. 内 ...

  10. 麦子学院bootstrap实战项目官网,后台,jquery.singlePageNav.min.js ,wow.min.js,animate.css使用

    1.源码笔记 我的源码+笔记(很重要):链接: https://pan.baidu.com/s/1eSxgLV0 密码: 2pi2 感谢麦子学院项目相关视频:链接: https://pan.baidu ...