利用JSFL制作swf素材包

转载 2012年03月29日 14:56:24
基本上所有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文件,打开,就可以执行了。

相关文章推荐

闪刀浪子教你利用JSFL制作swf素材包

想利用ria来生成swf,可以当看过swf文件规范之后感觉这样做似乎过于复杂了。以前衰人给过一个使用Flash CS3 IDE的扩展来制作的方式,没有怎么深入去看。周末仔细研究了一番,感觉走了弯路了。...
  • wkyb608
  • wkyb608
  • 2012年09月17日 20:09
  • 762

每天学一点flash(82) jsfl 的swf窗口面板

因为工作需要,那天无意之中看到一个swfpannel 的对象,于是觉得好奇,我发现了这个对象可以扩展开始,而且非常有用。有时候觉得jsfl 的命令 放在flash 命令菜单那里调用不怎么好用。而另外一...

每天学一点flash(85) jsfl 批量导出swf

adobe  jsfl 这个项目已经不再更新了,但是我 觉得对于游戏来讲,写一些jsfl打包一下资源也是挺方便的。因为实在好用。最近很忙,基本上每天都加班到10点以上才能回到宿舍,好吧,为了生活和理想...

利用JSFL批量制作

想利用ria来生成swf,可以当看过swf文件规范之后感觉这样做似乎过于复杂了。以前衰人给过一个使用Flash CS3 IDE的扩展来制作的方式,没有怎么深入去看。周末仔细研究了一番,感觉走了弯路了。...
  • txiejun
  • txiejun
  • 2012年06月04日 23:44
  • 1259

2.自己总结的游戏框架小到中型游戏适用——从swf加载素材资源

工作8个多月,自己有空就会总结一下学到的东西,然后就

网页swf素材

透明的FLASH背景代码,()网址是你所选的背景图片的地址 style="z-index: 0; left: (); visibility: visible; width: (); positio...
  • hubowei
  • hubowei
  • 2012年12月14日 18:46
  • 541

易启秀20150629完整包微场景制作源码,新增1.4G素材包,全新后台UI设计+采集

易启秀20150629完整包微场景制作源码,新增1.4G素材包,全新后台UI设计+采集
  • bjash
  • bjash
  • 2015年09月17日 10:12
  • 1985

flash素材 swf

  • 2014年01月23日 21:12
  • 1.49MB
  • 下载

1080款会声会影swf视频透明素材

  • 2015年06月30日 00:27
  • 32.43MB
  • 下载

【cocos2dx-3.0beta-制作flappybird】就这么开始--开发环境的搭建素材的准备

从这一节开始,笔者将为大家讲解如何制作一款类似flappy bird的游戏。 一、磨刀不误砍柴工,首先我们来介绍一下游戏开发环境,以及游戏引擎的选择: ◆开发语言:C++ ◆开发环境:VS2012...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用JSFL制作swf素材包
举报原因:
原因补充:

(最多只允许输入30个字)