在Slick2D游戏中,如何访问传递给AppletGameContainer
的参数?
我有一个Slick2D游戏,我想既可以作为小程序运行,也可以作为独立应用程序运行。
当游戏作为小程序运行时,我想访问传递给它的一些信息。我在想也许我可以对StateBasedGame#initGameStates
中的GameContainer
进行instanceof
检查,但AppletGameContainer
不会从GameContainer
继承。
Slick2D 框架是否有允许轻松访问小程序参数的功能,或者更好的是,允许访问小程序参数或命令行参数的抽象层,而无需我的游戏知道它是由哪个容器启动的?
AppletGameContainer
不共享相同的遗产,而是定义了一个公共内部类,即名称相当模糊的Container
。它是传递给StateBasedGame
实现
因此,检查应该是:
container instanceof AppletGameContainer.Container
。以及获取参数的代码:
((AppletGameContainer.Container) container).getParameter("paramKey");