2012-05-13 132 views
0

我想将我用CS.5制作的Flash游戏(它被导出为.swf)放到java应用程序中。从研究中,我发现了一些方式来给它可能使用的是嵌入式Web浏览器或某种闪光的球员:Java应用程序中的Flash游戏

Embed .swf file to my Jframe
Embed a web browser within a java application

但是,这是做到这一点的最佳方式,并保持它交互性(即游戏)。如果嵌入式Web浏览器显示back/front/url /等,它也将完全适合。按钮,然后我不能使用它

那么最好的办法是做什么呢? Java应用程序中的flash播放器会保持交互性(游戏的运行方式与在Web浏览器或Flash Player应用程序中的运行方式相同)?

+0

你为什么不试试? – Steven

+0

我试图使用http://djproject.sourceforge.net/ns/,但我不知道如何 – core16

回答

0

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

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

+0

我的游戏是用actionscript 3做的,我该怎么做? – core16

+0

我不使用秋千,我使用swt。但swf api是同一个。 – user1112699

+0

那么我该怎么做呢?或者你有链接到某个地方来解释如何去做? – core16

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容器,这很容易。一些JNI jar如JNative,JNA可以帮助你。

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

+0

那么我该如何使用它? – core16

+0

一个好消息。 JFlashPlayer2.2支持ExternalInterface.call()。 http://www.brothersoft.com/jpackages-jflashplayer-77667.html – user1112699

+0

我在这里找到了一个zip文件http://www.fileol.com/developer-tools/jpackages-jflashplayer-2.2-free.html它也可以与mac一起使用吗? – core16