如何在内存中存储 class 个变量?
How do I store class variables in memory?
我在这里阅读了其他一些关于它的问题,但我就是不明白。
我有一些变量会在执行过程中发生变化,所以我知道它们需要进入内存。
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 内存对象并使用它们?
查看您的代码后,我发现问题是您正在检查一个不存在的对象的 属性,而您应该做的是检查实际对象是否存在。
改变
if( ! Memory.PopulationManager.nHarvesters )
到
if( ! Memory.PopulationManager )
这将满足您的需求。
我在这里阅读了其他一些关于它的问题,但我就是不明白。
我有一些变量会在执行过程中发生变化,所以我知道它们需要进入内存。
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 内存对象并使用它们?
查看您的代码后,我发现问题是您正在检查一个不存在的对象的 属性,而您应该做的是检查实际对象是否存在。
改变
if( ! Memory.PopulationManager.nHarvesters )
到
if( ! Memory.PopulationManager )
这将满足您的需求。