2012-04-05 12 views
2

Flashとas3でビルドされたプロジェクトがあります。それは完全にカスタマイズしたいと思う種類のビデオプレーヤーです。我々は、非常に迅速に変化したいと考えているさまざまなイメージとカラースキームを持っています。今は、さまざまなスキームでオンとオフを切り替える設定定数があります。また、コードには、画像などが変更されるさまざまなスポットがあります。フラッシュコンフィグ定数に代わるものは何ですか?

新しい配色などを作成するときは、新しい設定を作成する必要があります。それから、すべてのコードを読み込んで正しく入れなければなりません。

現在のFlashプロジェクト(フレックスなのかもしれません)をどのように取って、それをもっと素早くカスタマイズできるかについての提案は基本的にあります。

答えて

3

すべての設定可能なパラメータをXML定義に移動します。

カスタマイズごとに複数のXML文書を作成します。

コードでは、設定可能なパラメータのデフォルト値を設定してから、XMLドキュメントの参照値をデフォルト値に上書きして読み込みます。

プロダクションビルドの場合、外部リソースのロードが展開の問題である場合、XMLをアセンブリに埋め込むことができます。

さまざまな構成XMLドキュメントをロードすることで、実行時に定義を変更し、動的構成モデルを使用して、変更をリアルタイムで表示するテーマエディタを作成することができます。

ConfigurationModel.as

package 
{ 
    import flash.events.Event; 
    import flash.net.URLLoader; 
    import flash.net.URLRequest; 

    public class ConfigurationModel 
    { 

     /** ======== configuration ======== */ 

     public static var color:uint = 0xff00ff; 

     public static var fontName:String = "Arial"; 


     /** ======== serialization ======== */ 

     public static function loadConfiguration(url:String):void 
     { 
      var loader:URLLoader = new URLLoader(new URLRequest(url)); 
      loader.addEventListener(Event.COMPLETE, completeHandler); 
     } 

     protected static function completeHandler(event:Event):void 
     { 
      var xml:XML = new XML(event.target.data); 

      if (xml.color) 
       color = xml.color; 

      if (xml.fontName) 
       fontName = xml.fontName; 
     } 

    } 
} 

例の構成:AcmeClientConfiguration.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <color>0xff0000</color> 
    <fontName>Calibri</fontName> 
</configuration>