我在这里读到了一些关于它的其他问题,但我就是不明白。
我有一些变量在执行过程中会发生变化,所以我知道它们需要保存在内存中。
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内存对象并使用它们?
发布于 2016-10-02 15:37:56
看过你的代码后,我发现问题是你正在检查一个不存在的对象的属性,而你应该做的是检查实际的对象是否存在。
变化
if( ! Memory.PopulationManager.nHarvesters )
至
if( ! Memory.PopulationManager )
这将做你需要它做的事情。
https://stackoverflow.com/questions/39587707
复制相似问题