`
wgcode
  • 浏览: 593923 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用JSFL制作swf素材包

阅读更多

想利用ria来生成swf,可以当看过swf文件规范之后感觉这样做似乎过于复杂了。以前衰人给过一个使用Flash CS3 IDE的扩展来制作的方式,没有怎么深入去看。周末仔细研究了一番,感觉走了弯路了。JSFL已经可以通过很简单的代码来处理所有素材包的制作了,何必非要去做个另类的生成工具。

JSFL使用起来很简单,而且调试很方便。IDE里面的历史面板可以把你每一步操作使用的JSFL源码都告诉你。第一次使用你可能需要了解他的这个DOM结构,语法是js语法,即使你没有任何js基础,但是有AS基础就够用了。

1、当前打开的文档用fl.getDocument()取得,他是一个Document对象。

2、fl.getDocument().library 取得当前文档库的引用,做素材的话这个是最常用到的了。库面板上可以进行的操作,你都可以用API来做,看一下帮助文档就了解了,并不复杂。

3、fl.getDocumentDOM().getTimeline() 来访问当前文档的时间轴。此方法返回当前正在编辑的场景或元件的时间轴。也就是你当前正在操作哪个时间轴,显示的就是哪个时间轴。

4、时间轴上又分了层layer,每一个层又有不同的帧frame。程序可以取得任何的时间轴上面的层和帧的内容。

5、有的时候操作某个东西需要把他变成选择状态。场景中正在编辑的东西的选取可以通过坐标来操作,相当于你在某个坐标点了一下,那么这一点下最上层的物体就被选中了。

6、JSFL一般存储在C:\Documents and Settings\Samsung\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration 里面(这个会不一样,到你的用户名下找一下,这里我的用户名是Samsung),一般你放到这个目录下的command目录里面,那么就可以在你的Flash CS3 IDE的菜单-》命令中找到。

如果想多了解多一点他的用法,可以参考衰人的帖子。http://bbs.actionscript3.cn/viewthread.php?tid=19760&highlight=jsfl

说了一堆,简单看一个例子就明白了。



 

开始制作之前我们先大致确定一下我们的需求:

1、我们需要把每一位图都变成一个MC,同时把这个MC作为一个导出类来用

2、每一个位图都有一个唯一的导出类名。

3、所有的位图变成MC之后都是左上角作为原点。

4、处理完的位图和MC都在库里面分目录存放,资源的种类作为目录。

5、位图的文件名中记录了种类、名称和导出类名。(本例中的位图命名规则为:种类_名称_导出类名.png)

最后使用的JSFL代码如下。

fl.getDocumentDOM().selectAll();//选中场景中所有的位图
if(fl.getDocumentDOM().selection.length>0)
{
fl.getDocumentDOM().deleteSelection();//删除所有位图
}
var lib=fl.getDocumentDOM().library;//取得库
var libLength=lib.items.length;//库元素的长度
var bitmapArr=new Array();//库里面没有处理的位图
for(var i=0;i<libLength;i++)
{
//没有在目录中的位图则表示没有处理
if((lib.items[i].itemType=="bitmap")&&((lib.items[i].name).indexOf("/")==-1))
{
   bitmapArr.push(lib.items[i].name);
}
}
if(bitmapArr.length>0)
{
//创建目录
for(var i=0;i<bitmapArr.length;i++)
{
   var name=bitmapArr[i];//位图的完整名称
   var nameArr=bitmapArr[i].split("_");//位图名称的拆分数组
   var folder=nameArr[0];//目录名称
   var iconName=nameArr[1];//图标名称
   var code=nameArr[2].split(".")[0];//图标编码
   lib.newFolder(folder);
   lib.selectItem(name);//选中位图
   lib.addItemToDocument({x:0, y:0});//添加到场景
   fl.getDocumentDOM().selectAll();
   var mcName=iconName+"_"+code;
   //转换为mc
   fl.getDocumentDOM().convertToSymbol("movie clip",mcName,"top left") ;
   if (lib.getItemProperty('linkageImportForRS') == true) {
   lib.setItemProperty('linkageImportForRS', false);
   }
   lib.setItemProperty('linkageExportForAS', true);
   lib.setItemProperty('linkageExportForRS', false);
   lib.setItemProperty('linkageExportInFirstFrame', true);
   lib.setItemProperty('linkageClassName', code);
   lib.setItemProperty('scalingGrid', false);
   fl.getDocumentDOM().selectAll();//选中场景中所有的位图
   fl.getDocumentDOM().deleteSelection();//删除所有位图
   var bitmapFolder=folder+"/图素";
   var mcFolder=folder+"/导出类"
   lib.newFolder(bitmapFolder);
   lib.newFolder(mcFolder);
   lib.moveToFolder(mcFolder, mcName); 
   lib.moveToFolder(bitmapFolder, name); 
}
}
else
{
alert("没有需要处理的位图!");
}

 

完整例子在这里下载:jsfl制作swf素材包的例子。

  • 大小: 153.9 KB
分享到:
评论

相关推荐

    jsfl图片生成SWF

    把PNG图片转换生成为SWF,节省资源,让加载速度更快。

    例说利用JSFL批改FLASH操作题的方法.doc

    为了克服这个问题,教师需要熟悉JavaScript和Flash的API,同时利用Flash的帮助文档和在线资源来编写和优化批改脚本。 总之,JSFL技术为自动批改Flash操作题提供了强大的工具,使得大规模评估学生作品成为可能。通过...

    Flash JSFL命令集

    利用JSFL,你可以创建一个脚本来遍历目录中的所有FLA文件,并按照指定设置进行修改,确保所有文件的一致性。 四、设置库资源的类绑定 在ActionScript 3.0编程中,类绑定是将库中的元件与AS3类关联的关键步骤。JSFL...

    jsfl中文帮助文档

    1. 文档名称知识点:该文档是关于“JSFL中文帮助文档”的介绍,主要是Adobe公司针对其Flash CS6软件,在2013年6月更新的一个版本。JSFL(JavaScript for Flash)是Adobe Flash Professional软件中使用的脚本语言,...

    JSFL导出元件滤镜配置

    此外,`exportFilter.jsfl` 文件可能也利用了Flash Professional提供的API来获取和设置元件属性,如滤镜的类型、参数等。学习这些API可以帮助你深入理解Flash的内部工作原理,并且在创建自定义工具和插件时派上用场...

    序列图转swf,flash动画制作

    总之,"序列图转SWF,flash动画制作"涉及到UML序列图的利用,Flash动画的基本原理,以及通过JSFL自动化处理来提高工作效率。这一技术在游戏开发、教育内容制作和多媒体设计等领域都有广泛应用。

    jsfl技术文档(帮助文档)

    JSFL是一种基于JavaScript的脚本语言,它允许开发者通过编写代码来控制Flash IDE,包括创建、编辑和导出SWF文件,管理库资源,以及修改时间轴和图层。 2. **语法** JSFL语法与标准JavaScript类似,但包含了一些...

    JSFL实用代码

    JSFL提供了对Flash文档(FLA)和Flash影片(SWF)的底层访问,允许开发者编写自定义工具、脚本或插件来提升效率。 在提供的压缩包中,包含了一系列的JSFL实用代码,这些代码适用于不同的场景,旨在帮助用户在Flash...

    Flash CS5 JSFL开发手册API帮助文档

    使用JSFL开发的小工具,可以增强Flash的工作流程,实现更高效的动画制作和开发过程。JSFL的工作原理是通过命令行执行JavaScript,与Flash的扩展API进行交互,执行各种扩展功能。 在实际应用中,JSFL可以用于多种...

    FLASH操作评分常用JSFL

    FLASH操作评分常用JSFL,FLASH操作评分常用JSFL,可制作FLASH的自评分练习题,可制作FLASH的自评分练习题,可制作FLASH的自评分练习题,

    jsfl技术文档

    **JSFL技术文档详解** JSFL,全称为JavaScript for Flash,是Adobe提供的一个脚本语言,主要用于自动化Flash Professional(现更名为Adobe Animate)的工作流程、创建自定义工具以及编辑Flash项目。JSFL允许开发者...

    Animate:用于Adobe Animate的Jsfl动画工具

    本资源"Animate:用于Adobe Animate的Jsfl动画工具"显然旨在帮助用户更高效地利用JsFL进行动画制作。 JsFL是一种脚本语言,它可以直接与Animate的内部结构交互,包括时间轴、层、帧、形状、元件等。使用JsFL,用户...

    Png2Swf转换器

    利用jsfl使png转成swf,请使用flash打开此文件

    Flash重命名库元件JSFL命令

    "Flash重命名库元件JSFL命令"是一个用于批量重命名库中元件的工具,它通过JavaScript for Flash (JSFL) 脚本来实现这一功能。JSFL是Flash Professional内置的一种脚本语言,专门用来自动化和自定义Flash的工作流程。...

    SWF批量发布

    总结来说,“SWF批量发布”工具通过JSFL技术,解决了Flash动画制作过程中的批量处理难题,实现了高效、一致的文件管理和发布。它简化了繁琐的重复工作,让设计师可以把更多精力投入到创意设计上,提高了整个项目的...

    ui.zip_jsfl

    `ui.zip_jsfl`这个压缩包似乎与UI设计和Flash Pro的工作流程有关,特别是利用JSFL(JavaScript for Flash)进行自动化操作。 JSFL是Flash Pro的内置脚本语言,允许开发者和设计师通过编写JavaScript代码来控制和...

    当前时间轴转位图序列.jsfl

    这是一个flashCS系列使用的jsfl文件。首先打开fla文档(该fla文档必须被保存过),之后双击运行该文件会将当前正在编辑的时间轴转换成位图序列。...flash网游素材制作和优化、 flash stage3D材质制作等

    jsfl mc批量生成fla

    jsfl脚本, 让fla 中的mc批量生成fla,并发布 减小手工修改,

Global site tag (gtag.js) - Google Analytics