在玩screeps时,我无法弄清楚如何攻击敌人。这是我试过的。
我创造了我的攻击者蠕动:
Game.spawns.Spawn1.createCreep(['attack','move'],'Attacker1');
然后,当第一个敌人进入屏幕时,我尝试运行此命令,但它失败了。
Game.creeps.Attacker1.attack("Player 3");
敌人的正确语法是什么?
编辑: 添加文档链接以访问游戏中的对象。 http://screeps.com/docs/Creep.php
“玩家3”是敌人的名字。我需要一些如何瞄准敌人并与之战斗。
答案 0 :(得分:10)
我不确定为什么你这么多投票,你已经在这里提供了大量的信息!看起来你已经接近了!如果您阅读了与您相关联的文档,则会看到它显示attack(target)
并且该目标是一个对象。目前,您正在传递attack()
字符串"Player 3"
。为了让攻击函数实际定位你需要给它一个对象的东西。尝试这样的事情:
Game.spawns.Spawn1.createCreep([Game.ATTACK, Game.MOVE],'Attacker1');
var attacker = Game.creeps.Attacker1;
var enemies= attacker.room.find(Game.HOSTILE_CREEPS);
attacker.moveTo(enemies[0]);
attacker.attack(enemies[0]);
此代码:
Attacker1
的creep,并将该对象分配给名为attacker的var find()
函数查找所有敌人并将其分配给名为enemies的数组.attack()
只能近距离工作)