现在的位置: 首页 > 综合 > 正文

JSFL:批量导出swc

2013年04月03日 ⁄ 综合 ⁄ 共 1159字 ⁄ 字号 评论关闭

         今天做了一个实验遇到一个问题,尝试ios打包,但是发现ios打包依旧不能加载含有代码的swf,虽然官方宣称air 3.6能够证实解决这个问题。不过正式版本还是要后续等待一段时间。

         那么只能采用蛋疼的swc嵌入方式去制作。好吧,今天看了一点资料,结合自己需求尝试制作一个小需求,就是批量把fla文件导出swc文件。然后一个个嵌入去。

exportPublishProfileString 这个方法 就是我们在发布的设置界面,里面可以输出一个xml的数据类型。

    我们可以通过替换字符串的方式来对设置的属性更改,如。 profileXML = profileXML.replace("<swc>0</swc>", "<swc>1</swc>");

   这个方式,可以控制输出的设定值。修改完成我们重新导入完成这个操作。下面可以对其进行修改以适应你的需求。

 

 

      

browImageFile();
function browImageFile()
{
	fl.outputPanel.clear();   
	var fileURL= fl.browseForFolderURL("请选择导入文件夹"); 	
	if(fileURL)
    exportSwc(fileURL);  
}

function exportSwc( folderPath )  
{  
	var sources = FLfile.listFolder( folderPath);		
	var i = 0;
	var len = sources.length;
	
	for ( i=0; i<len; i++ )
	{
		var props = sources[i].split( "." );
		var extendsName = props[1].toLowerCase();		
		 if ( extendsName == "fla" )
         {
		    var doc = fl.openDocument( folderPath + "/" + sources[i] );
			var profileXML = fl.getDocumentDOM().exportPublishProfileString('Default');
	        profileXML = profileXML.replace("<swc>0</swc>", "<swc>1</swc>");
		    profileXML = profileXML.replace("<html>1</html>", "<html>0</html>");
			profileXML = profileXML.replace("<flash>1</flash>", "<flash>0</flash>");
            fl.getDocumentDOM().importPublishProfileString(profileXML);
			doc.save();
			doc.publish();
			doc.close();
		 }
	}
 }

 

抱歉!评论已关闭.