5

我正在编写一个小型 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
}

虽然使用起来非常方便,但我想知道这是否是公认的模式。

4

2 回答 2

12

将其存储在一个.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
}
于 2012-04-13T12:17:22.000 回答
1

如果它真的是一个小应用程序,它会做。这并不理想,但在小范围内引入太多复杂性是没有意义的。

但是从属性文件中读取这些值。

于 2012-04-13T12:18:18.103 回答