Javascript 如何在screeps中扩展蠕变类

Javascript 如何在screeps中扩展蠕变类,javascript,screeps,Javascript,Screeps,我很难理解如何扩展Screw类,在新的javascript mmo游戏中添加我自己的函数,Screeps->www.Screeps.com 有人知道了吗 谢谢我不知道怎么做,但我创建了一个类似这样的包装器类: 您创建了一个调用内存的函数,并尝试使用它的属性。见下文: var=要求(“lodash”) 因此,当我需要处理爬行问题时,我会: var myCreeps = []; for (var creep in Game.creeps){ creep.memory.role = "hell

我很难理解如何扩展Screw类,在新的javascript mmo游戏中添加我自己的函数,Screeps->www.Screeps.com

有人知道了吗


谢谢

我不知道怎么做,但我创建了一个类似这样的包装器类:

您创建了一个调用内存的函数,并尝试使用它的属性。见下文: var=要求(“lodash”)

因此,当我需要处理爬行问题时,我会:

var myCreeps = [];
for (var creep in Game.creeps){
    creep.memory.role = "hello memory";
    var myCreep = new MyCreep(Game.creeps[creep]);
    myCreeps.push(myCreep);      ;
    console.log("original creep memory: "+creep.memory.role);
    console.log("my creep memory func: "+myCreep.memoryFunc().role);
    console.log("my creep memory prop: "+myCreep.memoryProp.role);
}


然后处理本地存储的mycrews。

有点旧,我不确定自最初的查询发布以来,Screeps是否发生了变化,但以下是我的想法

为什么有一个包装类??为什么不扩展原始/游戏提供的爬行类

e、 g

screw.prototype.myFunction=函数(目标){
//我的逻辑

}
非常确定你应该做新的MyScrew(Game.crews[screw])哦,是的,你说得对。最初,我使用lodash u.forEach(),它返回的不是蠕变名称,而是蠕变对象本身。我更新了我的答案。在这之后我如何处理基本的爬行功能?例如,myscrew.memory.role现在无效。我甚至尝试创建一个My screw.prototype.memory=function(){return this.screw.memory},但从未调用过它。您还可以使用Object.defineProperty添加属性
var myCreeps = [];
for (var creep in Game.creeps){
    creep.memory.role = "hello memory";
    var myCreep = new MyCreep(Game.creeps[creep]);
    myCreeps.push(myCreep);      ;
    console.log("original creep memory: "+creep.memory.role);
    console.log("my creep memory func: "+myCreep.memoryFunc().role);
    console.log("my creep memory prop: "+myCreep.memoryProp.role);
}
var myCreeps = [];
_.forEach(Game.creeps, function(creep){
    var myCreep = new MyCreep(creep);
    myCreeps.push(myCreep);
});