利用JSFL制作swf素材包

基本上所有flash IDE能做的操作都可以通过JSFL做出。JSFL使用起来很简单,而且调试很方便。IDE里面的历史面板可以把你每一步操作使用的JSFL源码都告诉你。
document.selectAll()
选择舞台上的所有项目。此方法等效于按 Control+A (Windows) 或 Command+A (Macintosh),也等效于选择”编辑”>”全选”。
示例
下面的示例选择用户当前可见的所有内容:
fl.getDocumentDOM().selectAll();
document.selection
属性;文档中的所选对象的数组。如果未选择任何内容,则返回一个长度为零的数组。如果未打开任何文档,则返回
1
null

document.deleteSelection()
方法;在舞台上删除当前所选内容。如果未选择任何内容,则显示一条错误消息。
示例
下面的示例删除文档中的当前所选内容:
fl.getDocumentDOM().deleteSelection();
document.library
只读属性;文档的 library 对象。
library 对象表示”库”面板。它是 Document 对象(参阅 document.library)的属性,可以使用
1
fl.getDocumentDOM().library
访问。
library 对象包含不同类型(包括元件、位图、声音和视频)的项目的数组。
library 对象的方法摘要
library 对象具有以下方法:
方法 描述
library.addItemToDocument() 将当前项目或指定的项目添加到舞台的指定位置。
library.addNewItem() 创建”库”面板中指定类型的新项目并将新项目设置为当前选择的项目。
library.deleteItem() 从”库”面板中删除当前项目或指定项目。
library.duplicateItem() 复制当前选择或指定的项目。
library.editItem() 在”编辑”模式下打开当前选择或指定的项目。
library.expandFolder() 展开或折叠库中当前选择或指定的文件夹。
library.findItemIndex() 返回库项目的索引值(从零开始)。
library.getItemProperty() 获取所选项目的属性。
library.getItemType() 获取当前由库路径选择或指定的对象的类型。
library.getSelectedItems() 获取库中所有当前选择项目的数组。
library.importEmbeddedSWF() 将 SWF 文件作为经过编译的剪辑导入库中。
library.itemExists() 检查指定的项目是否存在于库中。
library.moveToFolder() 将当前选择或指定的库项目移动到指定的文件夹。
library.newFolder() 在当前选择的文件夹中,使用指定的名称创建一个新文件夹,如果没有提供 folderName 参数则使用默认名称 (“untitled folder #”)。
library.renameItem() 在”库”面板中重命名当前选择的库项目。
library.selectAll() 选择或取消选择库中的所有项目。
library.selectItem() 选择指定的库项目。
library.selectNone() 取消选择所有库项目。
library.setItemProperty() 设置选择的所有库项目(忽略文件夹)的属性。
library.updateItem() 更新指定的项目。
library 对象的属性摘要
library 对象具有以下属性:
属性 描述
library.items 库中项目对象的数组
示例
下面的示例获取当前获得焦点的文档的库:
var myCurrentLib = fl.getDocumentDOM().library;
document.convertToSymbol()
document.convertToSymbol(type, name, registrationPoint)
参数
type 一个字符串,它指定要创建的元件的类型。可接受值为 “movie clip”、”button” 和 “graphic”。
name 一个字符串,它指定新元件的名称,名称必须是唯一的。提交一个空字符串可以使此方法创建一个唯一的元件名称。
registration point 指定表示元件的 0,0 位置的点。可接受的值为:”top left”、”top center”、”top right”、”center left”、”center”、”center right”、”bottom left”、”bottom center” 和 “bottom right”。
返回
新建元件的一个对象,如果无法创建该元件,则返回 null。
说明
方法;将所选舞台项目转换为一个新元件。有关为元件定义链接和共享资源属性的信息,请参阅 Item 对象
一个使用JSFL来处理图素的例子
1.使用flash IDE或任何文本编辑器编写代码如下:
 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)) //name中不带/即不在文件目录(文件夹)中
  {
   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); //item.linkageImportForRS 一个布尔值。如果为 true,则为运行时共享导入该项目。

   }
   lib.setItemProperty(‘linkageExportForAS’, true);//item.linkageExportForAS 一个布尔值。如果为 true,则为 ActionScript 导出该项目。

   lib.setItemProperty(‘linkageExportForRS’, false); //item.linkageExportForRS 一个布尔值。如果为 true,则为运行时共享导出该项目。

   lib.setItemProperty(‘linkageExportInFirstFrame’, true); //item.linkageExportInFirstFrame 一个布尔值。如果为 true,则在第一帧导出该项目。

   lib.setItemProperty(‘linkageClassName’, code); //item.linkageBaseClass 一个字符串,它指定将与元件关联的 ActionScriptt 3.0 类。
?
//item.linkageClassName 一个字符串,它指定将与元件关联的 ActionScript 2.0 类。

   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(“没有需要处理的位图!”);
  }
2.保存JSFL到C:/Documents and Settings/用户名(你机子的名字)/Local Settings/Application Data/Adobe/Flash CS3/zh_cn/Configuration 里面
3.使用commands——>run command…
4.选择JSFL文件,打开,就可以执行了。

posted @ 2013-01-11 13:40  【Winco】  阅读(615)  评论(0编辑  收藏  举报