Flash JavaScript

javascript语法:https://www.w3school.com.cn/js/js_array_methods.asp
flash中的api:https://help.adobe.com/archive/zh_CN/flash/cs5/flash_cs5_extending.pdf

// fl 或者 flash 表示 flash对象
// fl.scriptURI 只读;一个字符串,它表示当前运行的 JSFL 脚本的路径,形式为 file:/// URI。
var sourceFolder=fl.scriptURI;
// 跟 compileAll.jsfl 同目录的 fla 文件夹
sourceFolder = sourceFolder.substr(0, sourceFolder.length - "compileAll.jsfl".length) + "fla"


var fileMask="*.fla";



var libContorl = "LibControls.fla";


// FLfile 对象 操作文件
// FLfile.listFolder(folderURI文件夹路径可以有* ?通配符 [, filesOrDirectories返回文件或者目录])
var list=FLfile.listFolder(sourceFolder + "/" + fileMask, "files");

if(!list)
{
	//奇怪的规律, 有的时候相对路径可以找到,有的时候找不到.
	//找不到的之后手动找绝对路径
	// fl.browseForFolderURL() 显示 “ 浏览文件夹 ” 对话框,允许用户选择文件夹
	sourceFolder=fl.browseForFolderURL();
	list=FLfile.listFolder(sourceFolder +'/' + fileMask, "files");
}

function hasLibCAndPicL()
{
	var hasLib = false;
	list.forEach(function(e){
		if(e == libContorl)
		{
			hasLib = true;
		}
	})
	
	return hasLib;
}

function exchangIndex()
{
	// splice 和 unshift javascript的数组的操作api 删除或者增加
	list.splice(list.indexOf(libContorl), 1);
	list.unshift(libContorl);
}

if(hasLibCAndPicL())
{
	exchangIndex();
	
	var doc;
	// compilerErrors 对象表示 “ 编译器错误 ” 面板,它是 flash 对象 (fl) 的一个属性 可以通过 fl.compilerErrors 访问
	var obj = fl.compilerErrors

	for(var i=0; i<list.length; ++i)
	{
		// 在新的 Flash 文档窗口中打开一个 Flash (FLA) 文档供编辑,并使其获得焦点。
		var doc=fl.openDocument(sourceFolder+ "/" +list[i]);
		// 按照活动的发布设置 ( “ 文件 ”>“ 发布设置 ”)发布文档;等效于选择 “ 文件 ”>“ 发布 ”。
		doc.publish();
		// 把 “ 编译器错误 ” 面板里的错误输出到文件中
		obj.save("file:///./compilerErrors/"+list[i]+"Errors.log");
		doc.close();
	}
	
	fl.quit();
}
发布了104 篇原创文章 · 获赞 44 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/u012138730/article/details/99355778
今日推荐