C ++游戏加载对象/全局对象

时间:2013-04-20 06:55:56

标签: c++ object load globalization extern

我还是C ++的新手,所以如果我的问题难以理解,请原谅我。我(尝试)编写RPG游戏代码。目前所有东西都很好地编译,但是我现在必须考虑在游戏打开时我将如何加载所有对象(用于单元类,项目等)。

我在头文件中看到了关于DLL和全局对象的线程,但我想知道哪种方法最实用/最有效? (因为游戏本身只会如此之大)

就目前而言,我的代码非常笨重并且没有很好地实现(在尝试使用函数在单独的函数中声明我的对象并想知道为什么它们不可访问之前我甚至没想过),我应该使用extern而不是在main()中声明我的对象以实例化它们(见下文)。

#include <iostream>
#include <string>
#include "Unit.h"
#include "UClass.h"

using namespace std;

// Seperate function at program start to load class list.
void loadClass(UClass& obj)
{
    obj.load("Peasant");

}

int main() {

    //Load classes...
    cout << "Creating peasant...\n";
    UClass peasant;
    loadClass(peasant);
    cout << peasant.show() << endl;

    cout << "\nCreating unit...\n";
    Unit man;
    man.SetLvl();
    man.SetClass(peasant);
    man.ShowInfo();

    return 0;
}

再次抱歉,这是我第一次尝试多文件项目,并提前感谢您!

1 个答案:

答案 0 :(得分:0)

查看已定义此类结构的std库,例如list。我的想法是为您创建加载到游戏中的对象列表,在解析几何或其他逻辑时,您希望迭代列表。我认为这对开始有好处。如果我正确地解决了您的问题。