Slick2D AppGameContainer到AppletGameContainer

时间:2013-03-12 03:50:25

标签: java applet main slick2d

好吧,所以我已经做了这个游戏,我最近决定把它放到我的网站上!为了简化,我不知道如何将我的游戏从AppGameContainer转换为AppletGameContainer。我在互联网上看了无数的时间并按照教程,但似乎无法让它正常工作!

这是我的主要课程的代码。

public class Main {

public static void main(String[] args) {

    AppGameContainer game;

    try {
        game = new AppGameContainer(new Engine("Galactic Warrior"));
        game.setIcon("resources/images/ico3.png");
        game.setDisplayMode(640, 480, false); //640, 360 = 1080p ratio
        game.setMaximumLogicUpdateInterval(60);
        game.setTargetFrameRate(60);
        game.setAlwaysRender(true);
        game.setVSync(true);
        game.setShowFPS(false);
        game.start();
    } catch (SlickException e) {
        e.printStackTrace();
    }
}

}

那我怎么能把它转换成AppletGameContainer?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我也有这个问题。

您需要做的就是像普通应用程序一样对待它。不要为此另外上课。另请注意,加载或加载applet时不会调用main方法。

相反,applet由Init()加载。你需要这样做:

private GameContainer container;

@Override
public void init(GameContainer gc) throws SlickException {
    container = gc;

    gc.setShowFPS(false);
    gc.setTargetFrameRate(60);
    gc.setSmoothDeltas(true);
    gc.setAlwaysRender(true);
    gc.setVerbose(true);
}

现在容器将保存有关它是什么类型容器的所有信息。您也可以这样做来调试和惊讶自己:

    if(container instanceof AppletGameContainer.Container){
        //This is an Applet
    }

如果您还要在HTML代码中添加自定义参数,则可以执行以下操作:

((AppletGameContainer.Container) container).getParameter("HTMLParamKey");

使用HTML代码:

<param name="HTMLParamKey" value="some value here">