0

アクションスクリプトの完全な初心者ですが、これを使用したことはありませんが、Unityプロジェクトをフラッシュにコンパイルし、ブラウザー<-> javascript通信を行うために、.asコードでクラスを提供するハックなものを作成しました。タイプ文字列を認識していません:「タイプが見つからなかったか、コンパイル時の定数ではありませんでした:文字列。」

ここに私のコードがあります。フラッシュコンパイラさえ持っていないことに注意してください。Imはnotepad++を使用しているので、地雷原にいるImは言語を知らず、デバッグできません。

import flash.external.ExternalInterface;
import flash.system.Security;

import global.SCORMInsideActionScriptFunctions;

public class BrowserCommunicator
{
    public static function callFromJavascript() : void
    {
        trace("Javascript successfully called ActionScript function.");
    }

    // callback to register:
    public static function GetSessionTime() : string
    {
        return SCORMInsideActionScriptFunctions.GetSessionTime()
    }


    //Sets up an ExternalInterface callback and calls a Javascript function.
    public static function TestCommunication() : void
    {
        if (ExternalInterface.available)
        {
            try
            {
                ExternalInterface.addCallback("callFromJavascript", callFromJavascript);

                // mine:
                ExternalInterface.addCallback("GetSessionTime", GetSessionTime);


            }
            catch (error:SecurityError)
            {
                trace("A SecurityError occurred: " + error.message);
            }
            catch (error:Error)
            {
                trace("An Error occurred: " + error.message);
            }

            ExternalInterface.call('calledFromActionScript');
        }
        else
        {
            trace("External interface not available");
        }
    }

    public static function FlushData_ServerToCache() : void
    {
        if (ExternalInterface.available)
        {
            // calls the java function here:
            ExternalInterface.call('flushData');
        }
        else
        {
            trace("External interface not available");
        }
    }

    public static function SubmitData_CacheToServer() : void
    {
        if (ExternalInterface.available)
        {
            ExternalInterface.call('submitData');
        }
        else
        {
            trace("External interface not available");
        }
    }

    public static function SetData_AppToCache( field : string, data : string) : void
    {
        if (ExternalInterface.available)
        {
            ExternalInterface.call('setData', field, data);
        }
        else
        {
            trace("External interface not available");
        }
    }

    public static function GetData_CacheToApp( field : string ) : string
    {
        if (ExternalInterface.available)
        {
            return ExternalInterface.call('getData', field);
        }
        else
        {
            trace("External interface not available");
            return "";
        }
    }
}

}

4

1 に答える 1

0

文字列の代わりに文字列を書くだけです:)

于 2012-08-09T12:17:10.010 に答える