jsfl语法分析

//单个资源文件的打包
var qualityValue=80;
var log="";
var resourcePath=fl.browseForFolderURL("请选择素材路径:");

var sourcePath="file:///D|/img/";

function main(){
	//createSwf(sourcePath);
	createSwf(resourcePath);
}

function clearFla(){
	var fileList=FLfile.listFolder(resourcePath+"/"+"*.fla");
	var fc=fileList.length;
	for(var i=0;i<fc;i++){
		fl.trace(resourcePath+""+fileList[i]+"----"+FLfile.remove(resourcePath+"/"+fileList[i]));
	}
}

function createSwf(currDir){
	var fileList=FLfile.listFolder(currDir+"/*.png","files");
	var frameCount=fileList.length;
	if(frameCount > 0){
		fl.trace(frameCount);
		for(var i=0;i<frameCount;i++){
			var doc=fl.createDocument("timeline");
			var timeline=doc.getTimeline();
			var fileName=currDir+"/"+fileList[i];
			doc.importFile(fileName,true);
			
			var lib=doc.library;
			
			var item=lib.items[0];
			item.linkageExportForAS=true;
			item.linkageExportInFirstFrame=true;
			item.linkageBaseClass="";
			item.linkageClassName=item.name.substr(0,item.name.lastIndexOf("."));
			item.compressionType="photo";
			item.quality=qualityValue;
			
			var profileXML=fl.getDocumentDOM().exportPublishProfileString('Default');
			fl.trace(profileXML);
			var newProfileXML = profileXML.replace("<html>1</html>","<html>0</html>");
			fl.getDocumentDOM().importPublishProfileString(newProfileXML);
			
			fl.saveDocument(doc,currDir+"/"+item.linkageClassName+".fla");
			
			doc.publish();
			doc.close();
		}
		clearFla();
		alert("处理完成!");
	}
}
main();

附上jsfl的api:http://help.adobe.com/zh_CN/flash/cs/extend/index.html

fl.browseForFileURL()

打开“打开文件”或“保存文件”系统对话框,允许用户指定要打开或保存的文件。

fl.browseForFolderURL()

显示“浏览文件夹”对话框,允许用户选择文件夹。

FLfile.listFolder()

用法
FLfile.listFolder(folderURI [, filesOrDirectories])
参数
folderURI 
一个字符串,表示为 file:/// URI,它指定要检索其内容的文件夹。您可以将通配符掩码作为 folderURI 的一部分提供。有效的通配符是 *(匹配一个或多个字符)和 ?(匹配单个字符)。

filesOrDirectories 
一个可选字符串,它指定是只返回文件名,还是只返回文件夹(目录)名称。如果省略,则同时返回文件名和文件夹名称。可接受值为  "files" 和  "directories"

返回

表示文件夹内容的字符串的数组。如果文件夹不存在,或没有与指定条件相匹配的文件或文件夹,则返回空数组。

描述

方法;返回表示文件夹内容的字符串的数组。

fl.createDocument()


用法
fl.createDocument([docType])
参数
docType 
一个字符串,它指定要创建的文档的类型。唯一可接受的值是  timeline。默认值为  "timeline",与选择“文件”>“新建”>“Flash 文件”(ActionScript 3.0) 效果相同。此参数是可选的。

返回

如果方法成功执行,则返回新建文档的 Document 对象。如果发生错误,则返回值为 undefined

描述

方法;打开并选择新文档。用于表示大小、分辨率和颜色的值与当前的默认值相同。


document.getTimeline()

用法
document.getTimeline()
参数

无。

返回

当前 Timeline 对象。

描述

方法;检索文档中的当前 Timeline 对象。当前时间轴可以是当前场景、正在编辑的当前元件或当前屏幕。



document.importFile()

用法
document.importFile(fileURI [, importToLibrary [, showDialog [, showImporterUI ]]])
参数
fileURI 
一个字符串,表示为 file:/// URI,它指定要导入的文件的路径。

importToLibrary 
一个布尔值,它指定是仅将文件导入文档库 ( true),还是同时在舞台上放置一个副本 ( false)。默认值为  false

showDialog 
一个布尔值,用于指定是否显示“导入”对话框。指定为  true 将显示“导入”对话框。如果指定为  false,该功能将使用“首选参数”对话框中的设置导入文件。默认值是  true

showImporterUI 
一个布尔值,用于指定是否将错误明确显示出来(例如,使用“库冲突”对话框)。默认值为  false

返回

无。

描述

方法;将文件导入文档。此方法执行与“导入到库”或“导入到舞台”菜单命令相同的操作。若要导入发布配置文件,请使用 document.importPublishProfile()

document.library

用法
document.library
描述

只读属性;文档的 library 对象

示例

下面的示例获取当前获得焦点的文档的库:

var myCurrentLib = fl.getDocumentDOM().library;

library.items

用法
library.items
描述

属性;库中项目对象的数组。

item.linkageExportForAS


用法
item.linkageExportForAS
描述

属性;一个布尔值。如果此属性为 true,则为 ActionScript 导出该项。也可以将 item.linkageExportForRS 和 item.linkageExportInFirstFrame 属性设置为 true

如果将此属性设置为 true,则必须将 item.linkageImportForRS 属性设置为 false。此外,还必须指定标识符 (item.linkageIdentifier) 和 URL (item.linkageURL)。

item.linkageExportInFirstFrame

用法
item.linkageExportInFirstFrame
描述

属性;一个布尔值。如果为 true,则项目在第一帧中导出;如果为 false,则项目在第一个实例的帧中导出。如果该项目没有出现在舞台上,则表明其未被导出。

仅当 item.linkageExportForAS 和/或 item.linkageExportForRS 设置为 true 时,此属性才能设置为 true

item.linkageBaseClass

用法
item.linkageBaseClass
描述

属性;一个字符串,它指定将与元件关联的 ActionScript 3.0 类。此处指定的值将显示在创作环境的“链接”对话框以及其他包括“链接”对话框控件的对话框(例如元件的“属性”对话框)中。(若要为 ActionScript 2.0 类指定此值,请使用 item.linkageClassName。)

如果基类是元件类型的默认值(例如,对于影片剪辑为“flash.display.MovieClip”,对于按钮为“flash.display.SimpleButton”等),则此属性为空字符串 ("")。同样,若要使某个项成为默认的基类,请将该值设置为空字符串。

设置该值时,“链接”对话框不会执行任何既定的检查,因此如果 Flash 无法将基类设置为指定值,将不会引发任何错误。例如,在“链接”对话框中设置此值会强制进行检查,以确保可以在 FLA 文件的类路径中找到基类。这确保了在“发布设置”对话框的“Flash”选项卡中可以选择 ActionScript 3.0,依此类推。在脚本中设置该属性时,不会执行这些检查。


item.linkageClassName

用法
item.linkageClassName
描述

属性;一个字符串,它指定将与元件关联的 ActionScript 2.0 类。(若要为 ActionScript 3.0 类指定此值,请使用 item.linkageBaseClass。)

若要定义此属性,item.linkageExportForAS 和/或 item.linkageExportForRS 属性必须设置为 true,并且 item.linkageImportForRS 属性必须设置为 false

bitmapItem.compressionType

用法
bitmapItem.compressionType
描述

属性;字符串,用于确定应用于位图的压缩类型。可接受的值为 "photo" 或 "lossless"。如果 bitmapItem.useImportedJPEGQuality 的值是 false,则 "photo" 使用品质 0 到 100 来对应 JPEG;如果 bitmapItem.useImportedJPEGQuality 为 true,则 "photo" 使用默认的文档品质值来对应 JPEG。值 "lossless" 对应于 GIF 或 PNG 格式(请参阅 bitmapItem.useImportedJPEGQuality)。

bitmapItem.quality

用法
bitmapItem.quality
描述

属性;整数,用于指定位图的品质。若要使用默认文档品质,则指定为 -1;否则指定一个 0 到 100 范围内的整数。该属性仅对 JPEG 压缩可用。

fl.getDocumentDOM()

用法
fl.getDocumentDOM()
参数

无。

返回

一个文档对象,如果不存在打开的文档,则返回 null

描述

方法;检索当前活动文档(FLA 文件)的 DOM(Document 对象)。如果有一个或多个文档是打开的,但有一个文档当前并不具有焦点(例如,如果 JSFL 文件具有焦点),则检索最近的活动文档的 DOM。

document.exportPublishProfileString()

用法
document.exportPublishProfileString( [profileName] )
参数
profileName 
一个字符串,它指定要导出到 XML 字符串的配置文件的名称。此参数是可选的。

返回

一个 XML 字符串。

描述

方法:返回一个字符串,它以 XML 格式表示指定的配置文件。如果不为 profileName 传递值,则导出当前配置文件。

document.importPublishProfileString()

用法
document.importPublishProfileString(xmlString)
参数
xmlString 
一个字符串,其中包含要导入为当前配置文件的 XML 数据。

返回

一个布尔值:如果成功导入该字符串,则为 true;否则为 false

描述

方法;导入一个表示发布配置文件的 XML 字符串,并将其设置为当前配置文件。若要生成要导入的 XML 字符串,请在使用此方法之前使用 document.exportPublishProfileString()

fl.saveDocument()

用法
fl.saveDocument(document [, fileURI])
参数
document 
Document 对象,它指定要保存的文档。如果 document 为  null,将保存活动文档。

fileURI 
一个字符串,表示为 file:/// URI,它指定保存的文档的名称。如果参数 fileURI 为  null 或被省略,将以文档当前的名称来保存文档。此参数是可选的。

返回

布尔值:如果保存操作成功完成,则返回 true;否则返回 false

此方法将保存文件,而无论文件是新的、修改过还是未修改过。

描述

方法;将指定文档保存为 FLA 文档。

document.publish()

用法
document.publish()
参数

无。

返回

无。

描述

方法;按照活动发布设置(“文件”>“发布设置”)发布文档。此方法等效于选择“文件”>“发布”。

document.close()

用法
document.close([bPromptToSaveChanges])
参数
bPromptToSaveChanges 
一个布尔值,如果设置为  true,且文档中存在未保存的更改,则此方法使用一个对话框提示用户。如果 bPromptToSaveChanges 设置为  false,则不提示用户保存任何更改过的文档。默认值为  true。 此参数是可选的。

返回

无。

描述

方法;关闭指定的文档。

这里面涉及到一个生成的xml配置文件,这个相当于flash cs的发布配置 ,选中就是1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值