实例后的'C_#'是什么意思?

时间:2016-09-02 17:11:42

标签: scope instance unreal-engine4 unreal-savegame

快速提问。所以我一直在努力保存我的项目,我正在做一些调试,因为事情没有正常运行。它现在似乎已修复,但我想知道......在我将加载的游戏提升为变量后,我查看返回值,并在实例的末尾有一个'C',下划线,然后是一个数字。这个数字总是递增的,所以我想知道我是否正确保存。保存游戏实例是否应始终相同,或者每次从插槽加载时末尾的数字是否会增加?

另外,另外一件事。为什么我转换到我的保存游戏对象并得到一个变量后,我正在调试它总是说(变量不在范围内)当它获取变量时?

2 个答案:

答案 0 :(得分:0)

每当UE4创建一个UObject时,它会尝试为其指定名称。每个UObject都必须具有唯一的名称。如果采用该名称,则引擎会添加一个数字并递增,直到此名称为唯一。

您尚未指定保存/加载游戏的方式。您可以通过创建新的游戏实例或使用相同的游戏实例来实现正确的保存机制。

答案 1 :(得分:0)

我假设你加载的游戏"是一个保存游戏对象,我假设你在PIE中进行测试。因此,如果您继续这样做,那么游戏世界将一遍又一遍地重建,以便加载的游戏对象的名称正在增加。但是如果你关闭编辑器然后重新启动所有内容,那么这个递增的数字(它是对象名称的一部分)不会保存在你的保存游戏中,除非你专门做了。我的意思是你可以通过从对象中拖出并调用GetObjectName来获取此名称,并将其保存在保存游戏对象中。如果您愿意的话。

对于第二个问题,在许多情况下,蓝图调试运行不正常(比如在函数库中),所以不要打扰#34;不在范围"事情,蓝图运行正常,只是你不能看到价值。在这种情况下,您必须使用PrintString来查看您想知道的内容。