播放时screeps我不知道如何攻击敌人。这是我尝试过的。
我创建了我的攻击者 creep:
Game.spawns.Spawn1.createCreep(['attack','move'],'Attacker1');
然后当第一个敌人出现在屏幕上时,我尝试运行这个命令但失败了。
Game.creeps.Attacker1.attack("Player 3");
敌人的正确语法是什么?
编辑:
添加用于访问游戏中对象的文档链接。
http://screeps.com/docs/Creep.php
“玩家 3”是敌人的名字。我需要知道如何瞄准敌人并与他们战斗。
我不确定为什么您的票数如此之低,您已经在此处提供了大量信息!看起来你已经接近成功了!如果您阅读链接到的文档,您会看到上面写着 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()
函数找到所有敌人并将它们分配给一个名为 enemy 的数组
- 将攻击者移动到阵列中的第一个敌人(
.attack()
仅在近距离有效)
- 攻击敌人阵列中的第一个敌人