Flash中的JSFL的使用

在As项目中经常会遇到大量资源打包的事,如果全部手动设置会遇到工作强度大的问题,所以在这里对JSFL进行一个简单的实例讲解。

先解释下JSFL:

  JSFL全称为JavaScriptFlash,就是针对flash的一种Js应用。语法和JS是一样的

接下来看下资源文件:

 

接下来看下JSFL文件:

  可以看到默认的有路径,链接和最后的导出。链接一般就是在Flash cs里进行打包的工作。其中最主要的也就是链接的部分,参数应该都能看的懂。不懂的可以留言询问。最后的链接名称就是你当前资源的名称,细心点会看到有一个图片名称截取的操作。所以最终会将当前目录的所有图片打包进一个你指定的swf,并导出。

var mydoc = fl.getDocumentDOM();
mydoc = fl.createDocument();

//path
var root = fl.scriptURI.substring(0, fl.scriptURI.lastIndexOf("/"));
var picFolder = root + "/skill/13/1/";
var swfFolder = root + "/skill/13/1/";
fl.outputPanel.trace("图片目录:" + picFolder)

//Import
var folderContents = FLfile.listFolder(picFolder);
fl.outputPanel.trace("当前文件夹中文件个数:" + folderContents.length)
for (var n = 0; n < folderContents.length; n++)
{
	var URI = picFolder + folderContents[n];
	fl.outputPanel.trace("图片地址:" + URI)
	mydoc.importFile(URI, true);
}

//Name
var className = "";

//Link
var items = mydoc.library.items;
for (var i = 0; i < items.length; i++)
{
	var type = items[i].itemType;
	if (type == "bitmap")
	{
		className = items[i].name.split(".")[0];
		//--
		items[i].linkageExportForAS = true;            //是否为As3导出
		items[i].linkageExportInFirstFrame = true;
		items[i].linkageBaseClass = "flash.display.BitmapData"; //父类
		items[i].linkageClassName = className;
		items[i].compressionType = "photo";
		items[i].useImportedJPEGQuality = false;
		items[i].quality = 60;
	}
}

//Export
mydoc.exportSWF(swfFolder + "1.swf");

mydoc.close();

 一般JSFL都是用来做打包工具,所以可以在工具中加载该文件再去动态修改加载的目录和保存目录及文件名等等。

 

posted @ 2011-12-09 11:12  yurong3000  阅读(967)  评论(0)    收藏  举报