【问题标题】:How do I store class variables in memory?如何将类变量存储在内存中?
【发布时间】:2016-10-02 15:37:55
【问题描述】:

我在这里阅读了其他一些关于它的问题,但我就是不明白。

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

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

【问题讨论】:

  • 在控制台中执行 JSON.Stringify(Memory.PopulationManager) 得到什么输出?

标签: memory screeps


【解决方案1】:

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

改变

if( ! Memory.PopulationManager.nHarvesters )

if( ! Memory.PopulationManager )

这将满足您的需要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    相关资源
    最近更新 更多