gpt4 book ai didi

javascript - Screeps - 无法访问蠕变内存

转载 作者:行者123 更新时间:2023-11-28 04:16:59 33 4
gpt4 key购买 nike

我对 Screeps 还比较陌生,我一直在努力构建自己的基本 AI 系统。然而,我在最初的测试中遇到了障碍。我有一个脚本来确定要做的工作,然后小兵请求可用的工作。我已经能够将 Job 对象存储到 Creep 的内存中,但之后我就想不起来了。

我可以在“内存”选项卡中确认所有信息都在那里,并且存储正确,但当我尝试访问它时,我只得到未定义

This is what the memory looks like once it's set

我使用此模板功能创建作业:

jobFactory: function()
{
// Generates a blank JOB template
var job = {
'id': null, // id of job will double as id of the target
(ie. a energy source id)
'type': null, // used to classify job tickets to some extent
'spots': 0, // total # of creeps that can be assigned to this
'workers': [] // current # and IDs of creeps assigned
};
return job;
},

然后我就可以将它存储得很好:creep.memory.job = job;

我尝试访问它的方式是:console.log("蠕变作业:"+ Creep.memory.job);

我将其与游戏教程进行了比较,我似乎无法弄清楚为什么我无法从内存中访问该对象。

最佳答案

我将这两行添加到我的 Angular 色模块之一的开头:

creep.memory.job = { foo: "hello", bar: 42};
console.log("Foo: " + creep.memory.job);

输出为:Foo: [object Object]

如果我改用console.log("Foo: " + creep.memory.job.foo); ,则输出为 Foo: hello .

我知道这并不能解释 undefined ,但我想澄清一下您应该看到什么。

另一件事需要确定的是变量creep就是你想的那样。仔细检查 console.log(creep.name);紧接之前 console.log("Creep job: " + creep.memory.job); .

如果这些都没有帮助,更多的代码和更多的上下文将会有用。 (我不确定您到底在哪里尝试执行哪些代码段。)另外,确切的输出是什么?你得到Creep job: undefined吗?或者只是 undefined

关于javascript - Screeps - 无法访问蠕变内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45747759/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com