2016-09-20 2 views
0

나는 여기에 대해 몇 가지 다른 질문을 읽었지만, 나는 그것을 얻지 못하고있다.클래스 변수를 메모리에 어떻게 저장합니까?

나는 실행 과정을 통해 변화하는 변수를 가지므로 메모리를 사용해야한다는 것을 알고 있습니다.

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 메모리 개체를 만들고 사용합니까?

+0

콘솔에서 JSON.Stringify (Memory.PopulationManager)를 수행하면 어떤 결과가 나옵니까? –

답변

3

코드를 살펴본 후 존재하지 않는 개체의 속성을 확인하고 실제 개체가 있는지 확인해야한다는 것을 발견했습니다.

변경

if(! Memory.PopulationManager.nHarvesters)

if(! Memory.PopulationManager)

에 그것은 당신이 필요가있는 무엇을 할 것입니다.

관련 문제