所以我目前正在使用一个名为GameFile的静态类,它包含游戏实例,当前地图,玩家位置,玩家名称,玩家钱等等。基本上所有的全局信息。我想知道是否有替代方案?
这就是我目前在静态类中设置游戏实例的方式(作为示例):
GameFile.gameInstance = new ChromeGame();
然后我需要使用我打电话的信息
GameFile.gameInstance.addScreen(SplashScreen).
答案 0 :(得分:1)
这就是我为手机游戏做的事情。你可以全面拥有OOP概念并拥有所有的setter / getter,但在低类型的移动设备中,这种“OOP”代价很高。
public class GameData {
public static Model activePlayerModel;
public static GameMap currentMap;
public static void load () {
// read necessary data from external sources. e.g. a file
}
public static void updateMap () {
// update currentMap
}
public static Model getActiveModel() {
// get current model/set default/or read from file and return
}
public static GameMap getCurrentMap() {
// e.g. Create a map or read map from a file, etc
// return the map
}
}
现在我可以直接访问GameData的成员。
public class GameScreen extends Screen {
Model playerModel;
public GameScreen (Game game) {
GameData.load();
playerModel = Settings.activePlayerModel;
}
}