Javascript 如何在screeps中扩展蠕变类
我很难理解如何扩展Screw类,在新的javascript mmo游戏中添加我自己的函数,Screeps->www.Screeps.com 有人知道了吗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
谢谢我不知道怎么做,但我创建了一个类似这样的包装器类: 您创建了一个调用内存的函数,并尝试使用它的属性。见下文: 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);
});