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();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章