我正在制作游戏引擎,但我似乎碰到了一堵墙。我想将游戏引擎作为exe分发给开发人员,然后加载他们的文件。内部对象存储为:
class Gameobject
{
Vector position;
virtual void Update(){}
virtual void Render(){}
}
std::vector<GameObject*> gameobjects;
我希望开发人员只做
class ClassForGame: public GameObject
{
void Update(){}
void Render(){}
}
并添加到列表
gameobjects.push_back(new ClassForGame());
但我希望他们在一个单独的文件中执行此操作,以便文件结构为:
MyGameEngine.exe
Game.cpp
如何加载文件及其类以便使用它们?
我正在使用g ++,Ubuntu和过剩,如果有帮助我宁愿不使用任何外部库。
他们如何将他们的文件编译成我的exe,以便他们可以分发他们的游戏?我确实认识到这是两个不同的问题。
答案 0 :(得分:1)
引擎应该像库一样分发,而不是像可执行文件一样。
答案 1 :(得分:0)
首先,您应该了解流程地址空间,以便了解流程的工作原理。
我认为您想制作一个游戏引擎SDK,开发人员可以从中调用API来制作自己的项目。
SDK可以作为dll或lib发布,因此您应该了解它们之间的区别。