如何使用 Jangaroo 将单个 As3 函数转换为 javascript

How do I use Jangaroo to convert a single As3 function to javascript?

本文关键字:函数 转换 javascript As3 单个 何使用 Jangaroo      更新时间:2023-09-26

我偶然发现了Jangaroo,它似乎提供了我需要的东西。问题是要使用它,文档说我需要设置 maven。

我真的只有一个功能,所以这一切都有点矫枉过正。

理想的解决方案是类似于Telerik代码转换器(http://converter.telerik.com),但适用于AS3。

我刚刚更新了有关如何将 Jangaroo 用作命令行工具的文档:

https://github.com/CoreMedia/jangaroo-tools/wiki/Stand-Alone-Compiler

执行步骤 1 到 6 后,可以像这样编译单个类:

mkdir joo'classes
jooc -v -g SOURCE -classpath %JOOLIBS%'jangaroo-runtime.jar -sourcepath . -d joo'classes GACodec.as

请注意,生成的 JavaScript 文件GACodec.js只能与 jangaroo 运行时一起使用。Wiki 页面继续提供有关如何最终使用正常工作的 Web 应用程序的说明。对于您的班级,您只需要解压缩jangaroo-runtime.jar

"%JAVA_HOME%'bin'jar" -xf %JOOLIBS%'jangaroo-runtime.jar

然后,您可以从如下所示的小 HTML 文件运行您的类:

<script src="joo/jangaroo-runtime.module.js"></script>
<script>
  joo.classLoader.import_("GACodec");
  joo.classLoader.complete(function() {
    alert(new GACodec().encode("FOOBAR!"));
  });
</script>

在尝试您的代码时,我注意到它需要稍作更改才能工作:Jangaroo 不会为类型化的局部变量生成隐式初始化代码。代码中至少有两行声明了整数变量,但未显式初始化。ActionScript 会将其设置为 0 ,但 Jangaroo 没有。无论如何,进行显式初始化是更好的风格,如果您这样做,即在您的源代码中替换

var i:int;

var i:int = 0;

据我所知,它似乎有效!

最后一件事,我发现使用Maven比安装Jangaroo SDK更容易,因为您只需安装Maven一次,它就可以处理所有需要的下载,并使更新到最新的Jangaroo版本变得轻而易举:只需增加pom.xml中的Jangaroo版本号,Maven就会处理其他所有事情。