我想把我用CS.5制作的flash游戏(它被导出到.swf)放到java应用程序中。从研究中我发现一些方法可能是使用嵌入式Web浏览器或某种Flash播放器:
Embed .swf file to my Jframe
Embed a web browser within a java application
但这是最好的方法,它会保持互动性(即游戏)。如果嵌入式Web浏览器显示back / front / url / etc,它也将完全适合。按钮然后我不能使用它
那么最好的方法是什么? java应用程序中的flash播放器是否会保持交互性(游戏的工作方式与Web浏览器或Flash播放器应用程序中的相同)?
答案 0 :(得分:0)
您可以使用swf COM API ExternalInterface.call()与swf applcaition进行通信。
但它只支持动作脚本3及更高版本。
答案 1 :(得分: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罐子可以帮到你。
我实现了一个win32库swt-win32-extension.jar,它包含一个自定义的swf容器,但它不能被swing使用。