アクションスクリプトの完全な初心者ですが、これを使用したことはありませんが、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 "";
}
}
}
}