利用JSFL制作swf素材包
发布时间:2020-12-15 06:15:21 所属栏目:百科 来源:网络整理
导读:基本上所有flash IDE能做的操作都可以通过JSFL做出。JSFL使用起来很简单,而且调试很方便。IDE里面的历史面板可以把你每一步操作使用的JSFL源码都告诉你。 document.selectAll() 选择舞台上的所有项目。此方法等效于按 Control+A (Windows) 或 Command+A (Ma
基本上所有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文件,打开,就可以执行了。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |