2012-07-06 51 views
1

我有一個.fla被打開,幾個動作變量(url,標題等)被更改併發布。這發生了很多,而且它們是相同的變量。我只是將.swf文件保存爲一個XML文件,但它會上傳到第三方平臺,因此所有信息都需要包含在.swf文件中。沒有辦法將可變信息添加到第三方站點。在發佈期間包含XML(或JSON)數據 - Flash

我想知道是否有辦法在發佈時(如腳本)從xml文件或某些內容中獲取新的變量信息,而無需打開Flash IDE。能夠一次做出一大堆這些也很棒。

任何幫助/鏈接/線索將不勝感激。谷歌沒有幫助我。這甚至有可能嗎?

+2

你的信息看起來有點矛盾:「在發佈的時候(如腳本?)而不必打開Flash IDE」。如果您可以加載外部數據,請使用FlashVars存儲要加載的數據的網址。如果您需要將swf中嵌入xml,但xml更改,則可以爲Flash IDE編寫jsfl腳本,但必須打開IDE才能運行它。 – 2012-07-07 00:49:21

回答

1

無需打開Flash IDE中需要使用ANT或簡單地與mxmlc編譯器加載外部資源或構建腳本,東西的效果:

mxmlc -o output.swf -source-path="src/" -library-path+=library.swc. 

當您指出將XML嵌入到編譯時,您可以使用[Embed]元數據標記嵌入XML或將XML粘貼到類中。

嵌入XML

package 
{ 
    public class XmlData 
    { 
     [Embed(source = "data.xml", mimeType = "application/octet-stream")] 
     public static const Xml:Class; 
    } 
} 

要使用XML,實例化xml爲:

var xml:XML = new XML(new XmlData.Xml); 

XML變量

否則,你可以簡單地粘貼到您的XML類如下:

package 
{ 
    public class XmlData 
    { 
     public static const xml:XML = 
      <root> 
       <element /> 
       <element attribute="value">data</element> 
      </root>; 
    } 
} 

儘管您必須編譯SWF,但這種方法很簡單,因爲您可以簡單地將XML文檔粘貼到類中。

這將與e4x一樣作爲正常參考,並且不需要異步加載。

var data:String = [email protected];