Java を使用してゲームを作成しました。私のゲームは状態ベースのゲームなので、StateBasedGame を拡張します。ゲームを Web サイトに配置したいのですが、(別の方法がない限り) アプレットにする必要があります。複数のクラスを拡張しようとしてオンラインで読んだ後、私は運が悪く、複数の拡張を持つことは不可能であるというフォーラムの投稿を読みました。これは、自分のゲームを Web サイトに掲載できないということですか?
これまでの私のメイン クラスは、StateBasedGame を拡張したものです。
package javagame;
import org.newdawn.slick.*;
import org.newdawn.slick.state.*;
public class Game extends StateBasedGame{
public static final String gamename = "Croft";
public static final int menu = 0;
public static final int play = 1;
public Game(String gamename){//create window on statup
super(gamename);//adds title to screen
this.addState(new Menu(menu));//"this" means get from this class
this.addState(new Play(play));
}
public void initStatesList(GameContainer gc) throws SlickException{
//we need this because we inhereted from StateBasedGame, gc manages behind the scene stuff
this.getState(menu).init(gc, this);//telling java what states we have
this.getState(play).init(gc, this);
this.enterState(menu);//tells java that you want to show menu before play
}
public static void main(String[] args) {
AppGameContainer appgc;//the window for your game
try{
appgc = new AppGameContainer(new Game(gamename));//window holding the Game
appgc.setDisplayMode(640, 360,false);//size, sizetrue would make it full screen //640,360
appgc.start();//creates the window
}catch(SlickException e){//built into slick for error handelling
e.printStackTrace();}
}
}
EDIT1:
html コード:
<applet code="org.lwjgl.util.applet.AppletLoader"
archive="lwjgl_util_applet.jar"
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="slick.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>
jar ファイル名は racegame、メイン クラスは Game、パッケージ名は javagame です。
エラー: ClassNotFoundException org.lwjgl.util.applet.AppletLoader