我在这里还阅读了其他一些问题,但我没有明白。
我有一些在执行过程中会发生变化的变量,因此我知道它们需要存储在内存中。
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
但这告诉了我cannot read property nHarvesters of undefined
。
如何制作自己的screeps Memory对象并使用它们?
查看完您的代码后,我发现问题是您正在检查不存在的对象的属性,而您应该执行的操作是检查实际对象是否存在。
改变
if( ! Memory.PopulationManager.nHarvesters )
至
if( ! Memory.PopulationManager )
这将满足您的需求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句