JSFL_大量位图转成mc元件再export

什么是jsfl呢? 在flash cs中,按ctrl+F10, 可以打开历史面板,我们在cs中的大部分操作都被记录在案。按ctrl+F8,创建一个新mc,在历史面板中就增加两条新的记录,右键->view->JavaScript in Panel, 就可以看到这些步骤其实就是一个个js语句,jsfl的本质就是控制flash cs操作的js脚本。

点击flash cs下面的commands菜单,可以看到一些执行指令,每一个指令对应的是一个jsfl文件,所在目录是 C:\Documents and Settings\{}\Local Settings\Application Data\Macromedia\Flash 8\zh_cn\Configuration\Commands, 你可以把写好的jsfl文件放在这里,重启下cs3就可以在commands下看到了,或者是打开对应的fla文件,再双击jsfl文件,cs3就会对当前的fla执行这个jsfl。

jsfl这个东西相识恨晚,早期做产品的时候,都是手工的将大量位图转成mc元件再export,完全的体力活,希望有需要的朋友能够早些得知这个东东。 下面贴上一个简单的例子:

//filename: batch_export.jsfl
//将cs3中lib下的位图,生成对应的mc元件, 并按名字导出

var lib = fl.getDocumentDOM().library; //library 对象
var libLength = lib.items.length;
var itemArr = [];
for(var i=0; i < libLength; i++) {
   //将位图放入数组
   if(lib.items[i].itemType=="bitmap")
   itemArr.push(lib.items[i]);
}
for (var i = 0; i < itemArr.length; i++) {
   var itemName = itemArr[i].name;
   var expName = itemName.split(".")[0]; //不带后缀名
   lib.selectItem(itemName); //选中位图
   lib.addItemToDocument({x:0,y:0});
   fl.getDocumentDOM().selectAll();
   fl.getDocumentDOM().convertToSymbol("movie clip",expName,"top left") ; //将位图转化为mc元件
   if (lib.getItemProperty('linkageImportForRS') == true) {
        lib.setItemProperty('linkageImportForRS', false);
   }
   lib.setItemProperty('linkageExportForAS', true);
   lib.setItemProperty('linkageExportForRS', false);
   lib.setItemProperty('linkageExportInFirstFrame', true);
   lib.setItemProperty('linkageClassName', expName);
   lib.setItemProperty('scalingGrid',  false);
   fl.getDocumentDOM().selectAll(); //清空舞台
   fl.getDocumentDOM().deleteSelection();
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值