Flash: 規模の大きなプロジェクトでUnity により生成された Flash コンテンツを埋め込む
サンプル: ActionScript 関数を Unity からコールする

サンプル: データを Flash から Unity に提供

Suggest a change

Success!

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.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

FlashからUnityにデータを提供したい場合,次の種類がサポートされます。さらにデータを表現するクラスを作成することも出来ます (一致する C# or JavaScript 実装を提供することによって。)

最初に,オブジェクトのAction Script 3 実装を作成し,プロジェクトにクラスを含めます (ActionScriptと名前をつけたフォルダに):

ActionScript 3

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.

C#

[NotConverted]
[NotRenamed]
public class ExampleObject
{
    [NotRenamed]
    public int anInt;
    
    [NotRenamed]
    public string someString;
    
    [NotRenamed]
    public bool aBool;
}

JavaScript

@NotConverted
@NotRenamed
class ExampleObject
{
    @NotRenamed
    public var anInt : int;
    
    @NotRenamed
    public var someString : String;
    
    @NotRenamed
    public var aBool : boolean;
}


次にAction Script 3 に自身のオブジェクトを取得する方法が必要です。例えば:

ActionScript 3

public static function getExampleObject() : ExampleObject
{
    return new ExampleObject();
}

次にオブジェクトを取得してデータをアクセスします:

ExampleObject exampleObj = UnityEngine.Flash.ActionScript.Expression<ExampleObject>("MyStaticASClass.getExampleObject()");
Debug.Log(exampleObj.someString);

Flash: 規模の大きなプロジェクトでUnity により生成された Flash コンテンツを埋め込む
サンプル: ActionScript 関数を Unity からコールする