2011-07-09 11 views
0

ファイルをモジュール化するために、すべてのアセットがxmlによってロードされている.swfファイルがあります。しかし、公開された.swfファイルを別のディレクトリに移動しようとすると、xmlファイルとすべてのアセットを余分な手荷物として持ち込む必要があります。xmlデータを.swfに保存できますか?

公開中にこれらのアセットを読み込み、保持できる.swfを作成する方法はありますか?私は現在、別の.swfを作成してその中にロードしようとしています.Adobe Airを使用してロードされたものすべてをアップデートしていますが、これは正しい方向だとは思わない。

私はラッパーを使わない方がいいですが、それ以外のオプションがない場合は、私はそれを調べます。

答えて

0

".sol"ファイルを調べます。彼らは多かれ少なかれフラッシュファイルのための可変データベースです(フラッシュゲームの中には、将来の訪問のためにあなたの情報を保存するためにそれらを使用しています)。唯一の問題は、プログラムを別のコンピュータに移動すると、プログラムを移動する必要があるということです。それ以外は、私は他の方法は知っていませんが、おそらく他の人がいるかもしれません。

編集:after-thought - おそらく、あなたの情報を保存するためにリモートSQLデータベースを使用するのに役立つでしょうか?

1

あなたは、コンパイル済みのSWFにしてXMLを埋め込むことができます。

 
[Embed(source="data.xml", mimeType="text/xml")] 
protected const XmlClass:Class; 

var xml:XML = XML(new XmlClass()); 
trace(xml.toXMLString()); 

それとも、あなたは単にActionScriptクラスのメンバーとしてXMLを貼り付けることができます:

 
package 
{ 

    public class XmlData 
    { 

     public static var xml:XML = 
      <root> 
       <child name="etc..." /> 
      </root>; 
    } 
} 

お役に立てば幸いです。

+0

+1を公開=コンパイルします。 – Nate

0

ジェイソンは正しいです。これは、モジュール性とするたびに終わるだろう

[Embed(source="assetLibrary.swf", symbol="myFlashCS4SymbolName")] 
private var VectorAssetClass:Class  

var myVectorInstance1:Sprite = new VectorAssetClass(); 
var myVectorInstance2:Sprite = new VectorAssetClass(); 

addChild(myVectorInstance1); 
addChild(myVectorInstance2); 

: また、あなたのビットマップの資産を使用して

[Embed(source="asset.jpg")] 
private var BitmapAssetClass:Class  

var myBitmapInstance1:Bitmap = new BitmapAssetClass(); 
var myBitmapInstance2:Bitmap = new BitmapAssetClass(); 

または.swfのベクトルの資産を使用して(はコンパイル .swfファイルに含める)埋め込むことができアプリケーション全体をもう一度コンパイルする必要がある個々の資産変更を追加したい。

HTH

N.B:私はこれが探しているもののポスターだと思う

関連する問題