JSFL:導入Png圖片導出swf

如今項目須要用到某種格式的swf,既這個swf裏的舞臺上原點有兩個MovieClip,分別命名爲mc1,mc2. mc1和mc2都是從外部導入的同一個png圖片轉爲mc而來的。而後導出爲這個png同名的swf文件,和png同目錄。url

代碼以下:操作系統

//功能:導入圖片目錄文件夾,輸出文件夾內全部圖片的swf到這個文件夾。
//用法:新建fla,而後在「命令」》「運行命令」,選擇這個jsfl就可。等待幾秒鐘,就會在剛纔選擇的文件夾內生成可行的swf。
//@author:Holycy@126.com 


var folderURI = fl.browseForFolderURL("請選擇水玉鏡畫大圖的PNG目錄文件夾.");
var doc = fl.getDocumentDOM();
importImage(folderURI, "");

//在文件夾中導入圖片 furl:文件夾在操做系統中的路徑; folderName:在庫中的路徑 
function importImage(fUrl, folderName)
{
	var folderContents = FLfile.listFolder(fUrl);
	var fName;
	var item;
	var i;
	var hasBmp = false;
	
	folderName = "bigImg";
	
	//處理文件夾
	for(i=0; i<folderContents.length; i++)
	{
		fName = folderContents[i];
		fl.trace("-----------:" + fName + "------------------") ;
				
		//文件夾(若是是子文件夾 D)
		//if(FLfile.getAttributes(fUrl + "/" + fName) == "D")
		//{
		//	importImage(fUrl + "/" + fName, folderName+"/");
		//}
	}
	clearAllItem();
	doc.library.newFolder(folderName);
	//處理圖片
	for(i=0; i<folderContents.length; i++)
	{
		fName = folderContents[i];
				
		if(fName.indexOf(".png") != -1 || fName.indexOf(".PNG")!= -1)
		{
			doc.importFile(fUrl + "/" + fName, true);
			doc.library.moveToFolder(folderName, fName);
			//選擇庫中的位圖
			doc.library.selectItem(folderName+"/" + fName);
			var items = doc.library.getSelectedItems();
			var a = items[0];
			doc.library.selectItem(folderName+"/" + fName);
			//放置在舞臺的00點
			doc.library.addItemToDocument({x:0, y:0});
			//轉化爲元件
			doc.convertToSymbol('movie clip', '', 'top left');
			fl.getDocumentDOM().moveSelectionBy({x:0, y:0});
			//重複選擇一次
			doc.library.selectItem(folderName+"/" + fName);
			//放置在舞臺的00點
			doc.library.addItemToDocument({x:0, y:0});
			//轉化爲元件
			doc.convertToSymbol('movie clip', '', 'top left');
			fl.getDocumentDOM().moveSelectionBy({x:0, y:0});
			//選擇舞臺上的對象
			doc.getTimeline().layers[0].frames[0].elements[0].name = "mc1";
			doc.getTimeline().layers[0].frames[0].elements[0].x = 0;
			doc.getTimeline().layers[0].frames[0].elements[0].y = 0;
			doc.getTimeline().layers[0].frames[0].elements[1].name = "mc2";
			doc.getTimeline().layers[0].frames[0].elements[1].x = 0;
			doc.getTimeline().layers[0].frames[0].elements[1].y = 0;	
			//找到剛纔選擇的文件
			var fname = a.name;
			var idx = fname.indexOf(".");
			var newName = fname.slice(0,idx);
			
			fl.trace(fUrl);
			fl.trace(newName);
			var index = newName.lastIndexOf("/");
			newName = newName.substr(index+1);
			var fullName = fUrl+"/"+String(newName) + ".swf";
			fl.trace("-----------:" +fullName + "") ;
			doc.exportSWF(fullName+"");
			
			if(i+1<folderContents.length)
			{
				doc.mouseClick({x:5, y:5}, false, true);
				doc.deleteSelection();
				doc.mouseClick({x:5, y:5}, false, true);
				doc.deleteSelection();
			}
		}

	}
}

function setItem(item, asName)
{
	if (item.linkageImportForRS == true) 
	{
		item.linkageImportForRS = false;
	}
	item.linkageExportForAS = true;
	item.linkageExportForRS = false;
	item.linkageExportInFirstFrame = true;
	item.linkageClassName = "A" + asName;
}



function clearAllItem()
{
	doc.library.selectAll(true);
	var items = doc.library.getSelectedItems();
	if(items.length > 0)
	{
		var i;
		for(i=items.length-1; i>-1; i--)
		{
			if(items[i].itemType == "bitmap")
			{
				doc.library.deleteItem(items[i].name);
			}
		}
	}
}
相關文章
相關標籤/搜索