当前,我一直在使用属性文件,然后读取它们以将值分配给Hitbox类。

例如在属性文件中:

hitboxPosX=50

in code:
int hitboxPosX = Integer.ParseInt(Properties.getProperty("hitboxPosX");


当它起作用时,感觉确实很笨拙,并且要使它成为“默认”值,我必须为每次移动都复制文件。有没有一种方法可以在Java本身中定义每个单独的hitbox的属性,而不是使用文本文件?

这个问题可能很难理解,但是希望我至少已经传达了我的问题所在。

最佳答案

实现一种服务,该服务可以选择采用默认值或从属性文件中读取的值。有效地:包装数据提取,并让自己能够随时随地获取您关心的任何值的灵活性。

举个例子:

// Assume an enum PropertyType exists, and
// assume a constant HITBOX_DEFAULT_VALUE exists as well
public int getHitboxOrDefault(PropertyType useDefault) {
    if(useDefault == PropertyType.USE_DEFAULT_VALUE) {
        return HITBOX_DEFAULT_VALUE;
    } else {
        return Integer.parseInt(Properties.getProperty("hitboxPosX"));
    }
}

10-02 00:29