我只是想构建一个RPG并使其尽可能整洁,我希望定义一堆我可能想稍后编辑的字符串,所以我试过这样的事情:
enum { MSG_INIT = "Welcome to ...", MSG_FOO = "bar" };
Run Code Online (Sandbox Code Playgroud)
但我只是得到错误,例如这MSG_INIT不是一个整数!为什么它不是一个字符串,是什么枚举只是为了?
你认为定义一堆字符串的最佳方法是什么?在一个名为msg的结构中?我对这一切都很陌生,所以我真的很感激小例子.
小智 14
许多RPG将消息存储在C++源文件中但不存储在文本文件中,如下所示:
1, Welcome...
2, The $obj cannot be moved.
3, Score is %d
Run Code Online (Sandbox Code Playgroud)
这些是在运行时加载的,而不是在编译时编译,然后通过其数字键访问,优点是您可以更改消息而无需重新编译游戏引擎.如果你想要这种结构,那么你可能想要像a一样在std::map<int,std::string>加载后保存消息.
如果要将它们分组,请使用命名空间.
namespace Messages
{
const string INIT = "Welcome to ...";
const string BLAH = "Whiii!";
};
Run Code Online (Sandbox Code Playgroud)