• 利用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文件,打开,就可以执行了。

  • 相关阅读:
    笔记||Python3之字典
    笔记||Python3之算法
    笔记||Python3之文件的读写
    笔记||Python3之循环
    笔记||Python3之字符串格式化输出
    笔记||Python3之对象的方法
    笔记||Python3之函数
    笔记||Python3之布尔表达式+条件判断
    《1024伐木累》-程序员相亲都做了什么?
    《1024伐木累》-宝贝儿,可不可以
  • 原文地址:https://www.cnblogs.com/atong/p/2856296.html
Copyright © 2020-2023  润新知