如何在内存中存储类变量?

时间:2016-09-20 07:04:07

标签: memory screeps

我在这里读了一些其他的问题,但我只是没有得到它。

我有一些变量在执行过程中发生了变化,所以我知道他们需要进入内存。

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对象并使用它们?

1 个答案:

答案 0 :(得分:3)

查看代码后,我发现问题是你正在检查一个不存在的对象的属性,并希望你应该做的是检查实际对象是否存在。

更改

if( ! Memory.PopulationManager.nHarvesters )

if( ! Memory.PopulationManager )

这将完成您所需要的工作。