I Love China

技术·人生

技术服务生活
繁體

Archive for the ‘Flash扩展’ Category

[jsfl]调整场景顺序

星期三, 4月 23rd, 2008

以前以为jsfl不能控制FLA的场景,今天需要用到这个功能,然后用批量导出,又仔细看了下帮助,发现是可以的。虽然timeline指向当前时间轴可以是当前场景、正在编辑的当前元件或当前屏幕。但是当打开FLA时,它指的就是当前场景,使用timelines.length就是场景的个数,这样,我们就可以把所有fla文件的最后一个场景调整成第一个场景,然后导出
JSFL Code

var doc = fl.openDocument(p_fileURI);
// 将最后一个场景移到最前面
var sceneNum = doc.timelines.length;
doc.reorderScene(sceneNum - 1,0);
// 不保存
//doc.save();
doc.publish();

[jsfl]批量导出文件夹下的FLA(含子文件夹)

星期四, 1月 3rd, 2008

JSFL Code

var flaList = [];
var len = 0;
var right = 0;
var error = 0;
var folderURI = fl.browseForFolderURL("选择目标文件夹.")var cDate = new Date();
// 日志文件名称
var outputName = [cDate.getFullYear(),cDate.getMonth() + 1, cDate.getDate(),cDate.getHours(),cDate.getMinutes(),cDate.getSeconds(),"log.txt"].join("_");
// 文件总数
var count = 0;
if(folderURI != null)
{
	outputName = folderURI +"/" +  outputName;
	compileFolder(folderURI);
	fl.trace("本次共编译[" + count + "]个文件,成功[" + right + "]个,失败[" + error + "]个\n");
	fl.outputPanel.save(outputName,true);
	fl.outputPanel.clear();
	fl.trace("请查看编译日志文件" + outputName);
	fl.openScript(outputName);
}
function compileFolder(folder)
{
	// 列举文件夹下所有文件
	var folderContents = FLfile.listFolder(folder,"files");
	// 获取其中的fla文件
	getFlaList(folderContents);
	if(flaList.length == 0)
	{
		//fl.trace("没有要编译的Fla文件\n");
	}
	else
	{
		var tLen = flaList.length;
		var swfName = ""
		fl.outputPanel.clear();
		for(var i = 0; i < tLen; i++)
		{
			compile(folder + "/" + flaList[i]);
			swfName = flaList[i].substr(0,flaList[i].lastIndexOf(".")+1)+"swf";
			if (!FLfile.exists(folder +"/"+ swfName)) 
			{ 
				fl.trace(">> ERROR: File did not compile correctly: "+ swfName);
				error ++;
				continue}
			else
			{
				right ++;
			}
		}
		count += tLen;
	}
	var subFolders = FLfile.listFolder(folder,"directories");
	if(subFolders.length > 0)
	{
		for(var i = 0; i < subFolders.length; i++)
		{
			compileFolder(folder + "/" + subFolders[i])
		}
	}
}
function compile(p_fileURI) {
	var doc = fl.openDocument(p_fileURI);
	doc.publish();
	fl.trace(">> 以上是编译[" + p_fileURI + "]的输出信息");
	fl.outputPanel.save(outputName,true);
	fl.outputPanel.clear();
	fl.closeDocument(doc,false)// close fla without saving
}
function getFlaList(listArray)
{
	var len = listArray.length;
	flaList = [];
	var str = "";
	for(var i = 0; i < len; i++)
	{
		str = listArray[i];
		if(str.indexOf(".")  == -1)
		{
			//无后缀文件
			continue;
		}
		var tmp = str.length;
		if((str.substr(tmp - 4).toLowerCase()) == ".fla")
		{
			flaList.push(str);
		}
	}
}