Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFlashからUnityにデータを提供したい場合,次の種類がサポートされます。さらにデータを表現するクラスを作成することも出来ます (一致する C# or JavaScript 実装を提供することによって。)
最初に,オブジェクトのAction Script 3 実装を作成し,プロジェクトにクラスを含めます (ActionScriptと名前をつけたフォルダに):
package
{
public class ExampleObject
{
public var anInt : int;
public var someString : String;
public var aBool : Boolean;
}
}
次にAction Script 3 実装に合うC# または JavaScriptオブジェクトを作成します。
以下の NotRenamed 属性は コンストラクタ,メソッド,フィールド,およびプロパティの name mangling を防止します。
NotConverted 属性はビルド パイプラインにある型またはメンバをターゲット プラットフォームに変換しないように指示します。通常Flashにビルドするとき,C#/JavaScript スクリプトはActionScript (.as
) スクリプトに変換されます。 [NotConverted] 属性を追加することでプロセスのオーバーライドが行われ,自身のオリジナルの .as スクリプトを手動で提供出来ます。自身で提供するダミーのC#/JavaScriptによりUnityにクラスのシグニチャを知らせ(すなわちどのクラスをコールが許可されるか),自身のの .as スクリプトそれらの関数の実装を提供します。ActionScript バージョンはFlashにビルドしたときのみ使用されることに留意して下さい。エディタ上または他のプラットフォーム向けにビルドするときUnityはC#/JavaScriptバージョンを使用します。
The NotFlashValidated attribute explicitly tells the Flash validator to skip the type or member, that way it can be implemented.
[NotConverted]
[NotRenamed]
public class ExampleObject
{
[NotRenamed]
public int anInt;
[NotRenamed]
public string someString;
[NotRenamed]
public bool aBool;
}
@NotConverted
@NotRenamed
class ExampleObject
{
@NotRenamed
public var anInt : int;
@NotRenamed
public var someString : String;
@NotRenamed
public var aBool : boolean;
}
次にAction Script 3 に自身のオブジェクトを取得する方法が必要です。例えば:
public static function getExampleObject() : ExampleObject
{
return new ExampleObject();
}
次にオブジェクトを取得してデータをアクセスします:
ExampleObject exampleObj = UnityEngine.Flash.ActionScript.Expression<ExampleObject>("MyStaticASClass.getExampleObject()");
Debug.Log(exampleObj.someString);