如何保存指向对象的链接必须在任何地方都可以访问? [关闭]

问题描述 投票:0回答:0

我想用 C++ 和 SFML 以“Java 风格”编写我的下一个视频游戏。我有 5 年的 Java 经验。我创建了一些视频游戏,但我不知道 C++,并且由于游戏创建而想学习它。 在我的 Java 项目中,我创建了一个公共抽象类“GlobalVariables”。在游戏开始时,我将所有必需对象的链接保存在此类中作为静态变量(例如 dificultyLevel、operatingSystemType、displaWidth 等),这些对象必须从所有代码中可见。但我不明白我应该如何在 C++ 中执行相同的操作。我应该怎么做才能在 C++ 中执行相同的操作:

public abstract class GlobalVariables{
    public static PApplet gameEngine;
    public static GameDifficulty dificulty;

    public static void initGameEngine(PApplet ge){
        if (gameEngine == null) gameEngine = ge;
    }

    public static void initDifficulty(GameDifficulty d){
        if (dificulty == null) dificulty = d;
    }
 }

初始化来自启动器类:

public class Launcher extends PApplet{

     /*
     Some code
     */

     void init(){
          PreferencesMaster pm = new PreferencesMaster();
          GlobalVariables.initDifficulty(pm.getDifficulty());
          GlobalVariables.initGameEngine(this);
     }

     /*
     Some code
     */
}

我如何在 C++ 中执行相同的操作以开始使用我以前的 Java 经验创建游戏?如何在 C++ 中移植此代码?

java c++ architecture sfml game-development
© www.soinside.com 2019 - 2024. All rights reserved.