サンプル: Stage をアクセス
Web Playerの配置

サンプル: Flash Vars

FlashVars からパラメータを取得したい場合,Actionscript で LoaderInfo オブジェクトを作成する必要があり,“parameters” プロパティにアクセスする必要があります。これはロードされたSWFファイルに提供するパラメータを表す name-value ペアを含んだオブジェクトです。

Assets フォルダの中に “ActionScript” というフォルダを作成します。次にフォルダの中に空の “FlashVars.as” テキストファイルを作成して,次のコードを挿入します。

ActionScript 3

package {
    import com.unity.UnityNative; 
    import flash.display.LoaderInfo;
        
    public class FlashVars {
        public static function Join(delimiter: String): String {
            var parameters: Object = LoaderInfo(UnityNative.stage.loaderInfo).parameters;
            var text: String = "";
            for (var key: String in parameters)
                text += (text.length ? delimiter : "") + key + "=" + parameters[key];
            return text;
        }
    }
}

Actionscript 関数は FlashVars を取得してname-value ペアを連結して Unity に渡すことが出来る文字列にします。関数をコールして戻されたパラメータのリストをパースして表データにします。

C#

string parameters;
Dictionary<string,string> paramTable;
    
parameters = UnityEngine.Flash.ActionScript.Expression<string>("FlashVars.Join('|')");
string[] list = parameters.Split('|'); 
paramTable = new Dictionary<string, string>();
        
foreach (string parameter in list) {
    string key = parameter.Substring(0, parameter.IndexOf('='));
    string val = parameter.Substring(parameter.IndexOf('=') + 1);
    paramTable.Add(key, val);
}

パラメータ文字列および表データは最初に定義されます。表データは FlashVars を含む文字列のキーとバリューのディクショナリです。次に Actionscript 関数がコールされて,name-value ペアはパラメータから抽出されてテーブルに追加されます。これで自身のアプリケーションからパラメータを読み込むことご出来ます。次のサンプルでは,いくつかの値が表示され,FlashVarsで定義された特定のシーンぎロードされます。

C

void OnGUI () {
    GUILayout.Label(" FlashVars = " + parameters);
    GUILayout.Label(" unitydebug = " + paramTable["unitydebug"]);
    GUILayout.Label(" deeptrace = " + paramTable["deeptrace"]);
    
    if (GUILayout.Button("Click here to load " + paramTable["scene"]))
        Application.LoadLevel(paramTable["scene"]);
}

最初にプロジェクトのビルドを行ってHTMLファイルを生成し,IEおよび他のブラウザ向けにFlashVarsを編集します(二つの異なる行)。

HTML

<param name="flashvars" value="unitydebug=false&amp;deeptrace=false&amp;scene=Scene1" />


最後にブラウザでHTMLファイルを開きプロジェクトを実行します。

サンプル: Stage をアクセス
Web Playerの配置