近期一个项目要求博主爱吾所爱(爱生活=爱技术)将 所有的.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. HTML5文件拖拽上传记录

    JS文件: var FileName = ""; var FileStr = ""; (function () { function $id(id) { ret ...

  2. web基础----->servlet中得到请求的数据

    对tomcat的源码做一些分析,今天我们就开始servlet中的请求分析. form表单中的默认类型 一.在index.jsp中get请求: <form action="Paramet ...

  3. android基础---->AIDL服务的使用

    AIDL和其他的IDL类似,它允许你定义程序接口,以便客户端与服务器端通过IPC机制交互.在android上面,一个进程一般不能访问另外进程的内存.因此,Android平台将这些跨进程访问的对象分解成 ...

  4. Suricata规则配置

    Suricata 规则配置 IDS/IPS/WAF IPS.IDS和WAF分别是入侵防御系统和入侵检测系统以及WEB应用防火墙的简称,很多人说这些玩意不就是盒子吗已经过时了,其实不是,SIEM其实是有 ...

  5. 单用户模式进入centos

    修改root密码----------------单用户模式操作 个人原创博客,转载请注明,否则追究法律责任 author: headsen chen date: 2017-9-30 1,开机后,迅速按 ...

  6. 【Android】eclipse打不开的解决办法和“Jar mismatch! Fix your dependencies”的解决

    JDK1.7能用,cmd下输入java,javac,java -version,javaw配置和环境都没问题的话,有可能是工作空间的问题,就是一般在D盘下的workspace..那个文件夹,删除了,再 ...

  7. nexus使用方法

    转自:https://www.cnblogs.com/grey-wolf/p/6481166.html centos7搭建nexus maven私服   前置条件: 1.安装jdk,可参考 http: ...

  8. java实现创建临时文件然后在程序退出时自动删除文件(转)

    这篇文章主要介绍了java实现创建临时文件然后在程序退出时自动删除文件,从个人项目中提取出来的,小伙伴们可以直接拿走使用. 通过java的File类创建临时文件,然后在程序退出时自动删除临时文件.下面 ...

  9. Yii 获取url 的一些方法

    原文出处http://blog.csdn.net/iefreer/article/details/21325371 1. 获取url中的host信息: Yii::app()->request-& ...

  10. Git之删除仓库

    Github删除已有仓库步骤 在仓库页面点击设置 在新打开网页删除 输入仓库名点击删除即可