1

Visual Basic アプリケーションに埋め込まれた .swf フラッシュ アニメーションがあります。

次のコードを使用して、「bob」というアニメーションのテキスト フィールドの内容を読み取ろうとしています。

TextBox1.Text = AxShockwaveFlash1.GetVariable("bob")

実行すると、textbox1 の出力は "_level0.bob" になります ???

これはアニメーションの実際のテキストとは異なります。アクセス方法を教えてください。

bob.text などを試しました。

ありがとう

フィル

4

2 に答える 2

2

as3 と VB で動作するソリューションを正しく見つけました。他のいくつかのソリューションから石畳になりました。アクション スクリプトで外部インターフェイスを使用する必要があります。ここでは、AS3 と VB のコードを示します。2 つの文字列の時間と分を送信します。

AS3

function TimeUpdate(o:Object)
{
    var r:String = "";
    for (var v in o)
        //Move the values from visual basic to mins and hours

        if (v = "mins") mins = o[v];
        if (v = "hours") hours = o[v];

    time.text = hours + ":" + mins;

    return "TimeUpdate was called";
}

if (ExternalInterface.available)
   ExternalInterface.addCallback('TimeUpdate', TimeUpdate);

ビジュアルベーシック

Dim x As String
        x = "<invoke name=""TimeUpdate"" returntype=""xml"">"
        x = x & "<arguments>"
        x = x & "<object>"
        x = x & "<property id='hours'><string>2</string></property>"
        x = x & "<property id='mins'><string>33</string></property>"
        x = x & "</object>"
        x = x & "</arguments>"
        x = x & "</invoke>"

        Dim responce As String
        responce = AxShockwaveFlash1.CallFunction(x)
        MsgBox(responce )

これが人々に役立つことを願っています。

フィル

于 2013-04-09T14:00:06.087 に答える