2

我使用基于状态的游戏在 Java 中制作了一个 GUI,因为它扩展StateBasedGame而不是JApplet真正的小程序,我想把它放在一个网站上并且不确定如何做到这一点,我被告知以下代码允许我使用 html 将其制作成一个小程序,而不必编辑 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.

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

如果某些事情看起来很简单并且似乎太明显而无法问我,请告诉我,因为我是 Java 新手,我之前使用此代码的错误是因为我的 html 和 lwjgl_util_applet.jar 不在同一个目录中,所以请告诉我我有任何可能对我有帮助的东西。

4

1 回答 1

1

嗯...

我不太确定,但根据消息来源 ,错误来自 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"

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


报告是否有帮助

于 2013-01-13T06:53:55.913 回答