0

我想把我用 CS.5 制作的一个 Flash 游戏(它被导出到一个 .swf)放到一个 java 应用程序中。通过研究,我发现了一些方法可能是使用嵌入式网络浏览器或某种 Flash 播放器:

将 .swf 文件嵌入到我的 Jframe
在 Java 应用程序中嵌入 Web 浏览器

但这是最好的方法吗?它会保持交互性(即游戏)吗?如果嵌入式 Web 浏览器显示 back/front/url/etc,它也将完全适合。按钮然后我不能使用它

那么最好的方法是什么?Java 应用程序中的 Flash 播放器是否会保持交互性(游戏的工作方式与在 Web 浏览器或 Flash 播放器应用程序中的工作方式相同)?

4

2 回答 2

0

您可以使用 swf COM API ExternalInterface.call() 与 swf 应用程序进行通信。

但它只支持动作脚本 3 及更高版本。

于 2012-05-13T12:57:28.353 回答
0
    public void callFunction( String function, String params )
    {
        if ( !created )
            return;
        String request = "<invoke name=\""
                + function
                + "\"><arguments><string>"
                + params
                + "</string></arguments></invoke>";
        Variant[] args = new Variant[1];
        args[0] = new Variant( request );
        flashObject.invokeNoReply( DISPID_CALLFUNCTION, args );
}

这是一个 swt swf 调用函数的实现。

你可以实现一个swf容器,很简单。JNative、JNA 等一些 JNI jar 可以帮助您。

我实现了一个win32库swt-win32-extension.jar,它包含一个自定义的swf容器,但是swing不能使用它。

于 2012-05-13T13:08:00.220 回答