有时候需要创建一个后台运行的游戏,不需要图形界面显示,可以创建Headless应用。比如用ssh要在Linux命令行运行(没有启动Linux图形界面X Window):
方法:实现一个类,继承自SimpleHeadlessApp或BaseHeadlessApp。
1: package com.todream.location.autowalk;
2:
3: import java.io.File;
4:
5: import com.jme.app.SimpleHeadlessApp;
6: import com.jme.system.GameSettings;
7: import com.jme.system.PropertiesGameSettings;
8:
9: public class HelloHeadless extends SimpleHeadlessApp {
10:
11: @Override
12: protected void simpleInitGame() {
13: }
14:
15: @Override
16: protected GameSettings getNewSettings() {
17: // com.jme.system.PropertiesGameSettings pgs = new com.jme.system.PropertiesGameSettings(
18: // "pgs.properties");
19: // pgs.load();
20: // return pgs;
21: String path = this.getClass().getClassLoader().getResource("").getPath();
22: File f = new File(path,"properties.cfg");
23: return new PropertiesGameSettings(f.toString());
24: }
25: }
26:
需要实现protected GameSettings getNewSettings(),启动的时候:
1: HelloHeadless headless = new HelloHeadless();
2: headless.setConfigShowMode(ConfigShowMode.NeverShow);
3: headless.start();
要指定已存在的配置文件,否则会弹出属性设置对话框。