Memory 如何在内存中存储类变量?
我在这里读了一些关于它的其他问题,但我就是不明白 我有一些变量在执行过程中会发生变化,所以我知道它们需要放在内存中Memory 如何在内存中存储类变量?,memory,screeps,Memory,Screeps,我在这里读了一些关于它的其他问题,但我就是不明白 我有一些变量在执行过程中会发生变化,所以我知道它们需要放在内存中 var populationManager = { init: function(){ Memory.PopulationManager = {}; Memory.PopulationManager.nHarvesters = 0; Memory.PopulationManager.nUpgraders = 0;
var populationManager = {
init: function(){
Memory.PopulationManager = {};
Memory.PopulationManager.nHarvesters = 0;
Memory.PopulationManager.nUpgraders = 0;
Memory.PopulationManager.nBuilders = 0;
Memory.PopulationManager.harvesterNameNum = 0;
Memory.PopulationManager.upgraderNameNum = 0;
Memory.PopulationManager.builderNameNum = 0;
},
demographics: function(){
if( ! Memory.PopulationManager.nHarvesters )
this.init(); //not initialized yet
但是它告诉我它不能读取未定义的属性
如何创建自己的screeps内存对象并使用它们?查看代码后,我发现问题在于您正在检查一个不存在的对象的属性,您应该做的是检查实际对象是否存在 改变
if(!Memory.PopulationManager.nhavesters)
到
if(!Memory.PopulationManager)
这将满足您的需要。您在控制台中执行JSON.Stringify(Memory.PopulationManager)时会得到什么输出?