本文主要是介绍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();
}
这篇关于JSFL_大量位图转成mc元件再export的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!