将我的Java Slick游戏放到网站上

时间:2013-01-12 20:31:08

标签: java html applet slick2d

我使用基于状态的游戏在Java中创建了一个GUI,因为它扩展了StateBasedGame而不是JApplet它不是一个真正的applet,我想把它放在一个网站上,我不确定如何这样做,我被告知以下代码允许我使用html将其变为applet而不必编辑Java代码:

<applet code="org.lwjgl.util.applet.AppletLoader" 
        archive="org.lwjgl.util.applet.AppletLoader" 
        codebase="." 
        width="640" height="480">

  <param name="al_title" value="Ham Blaster"> 
  <param name="al_main" value="org.newdawn.slick.AppletGameContainer"> 
  <param name="game" value="org.javagame.Game">

  <param name="al_jars" value="racegame.jar, lwjgl.jar, slick.jar"> 

  <param name="al_windows" value="windows_natives.jar"> 
  <param name="al_linux" value="linux_natives.jar"> 
  <param name="al_mac" value="macosx_natives.jar"> 

  <param name="separate_jvm" value="true"> 
</applet> 

当我运行html代码时,我的屏幕中心出现以下错误:

An error occurred while loading the applet. Please contact support to resolve this issue. missing required applet parameter: al_main.

我已经看了ApplerGameContainer内部光滑,但我只能找到chrome文件,我尝试将它们放在与html文件相同的目录中,但我仍然得到同样的错误。

如果某些内容看起来非常简单并且看起来太明显了,请告诉我,因为我是Java的新手,我之前使用此代码的错误是因为我在同一目录中没有我的html和lwjgl_util_applet.jar,所以请告诉我任何对我有帮助。

1 个答案:

答案 0 :(得分:1)

...电解金属锰

我不太确定,但根据sources,错误来自init方法

/*
     * @see java.applet.Applet#init()
     */
    public void init() {
        state = STATE_INIT;

        // sanity check
        String[] requiredArgs = {"al_main", "al_logo", "al_progressbar", "al_jars"};
        for(int i=0; i<requiredArgs.length; i++) {
            if(getParameter(requiredArgs[i]) == null) {
                fatalErrorOccured("missing required applet parameter: " + requiredArgs[i], null);
                return;             
                }

//...           }       
        }

所以您的 al_main 参数值似乎 null 或其他:S

问题可能在某处

<param name="al_main" value="org.newdawn.slick.AppletGameContainer"> 

... 也许因为我没有看到你将"al_logo", "al_progressbar"

所有其他所需的参数初始化

无论如何,显示问题代码会更有帮助


报告是否有帮助