我正在编写一个小型 Java 游戏,并将全局游戏设置存储在如下所示的类结构中:
public class Globals {
public static int tileSize = 16;
public static String screenshotDir = "..\\somepath\\..";
public static String screenshotNameFormat = "gameNamexxx.png";
public static int maxParticles = 300;
public static float gravity = 980f;
// etc
}
虽然使用起来非常方便,但我想知道这是否是可接受的模式。
最佳答案
将其存储在 .properties
文件中。
config.properties
tile.size=16
screenshot.dir=..\\somepath\\..
正在阅读
// Make sure this happens only the first time you start your application
Properties properties = new Properties();
// You can use FileInputStream, ClassLoader.getResourceAsStream or a reader too
properties.load(...)
使用它
int tileSize = Integer.valueOf(properties.getProperty("tile.size"));
String screenshotDir = properties.getProperty("screenshot.dir");
为了简化事情并尽量减少更改,您还可以这样做:
public class Globals {
private static final Properties properties = new Properties();
static {
// do the loading here
}
public static final int TILE_SIZE =
Integer.valueOf(properties.getProperty("tile.size"));
public static final String SCREENSHOT_DIR =
properties.getProperty("screenshot.dir");
// etc
}
关于java - 如何最好地在 Java 中存储游戏配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10140630/