我使用基于状态的游戏在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,所以请告诉我任何对我有帮助。
答案 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"
无论如何,显示问题代码会更有帮助
报告是否有帮助