14

在玩爬虫时,我不知道如何攻击敌人。这是我尝试过的。

我创建了我的攻击者蠕变:

Game.spawns.Spawn1.createCreep(['attack','move'],'Attacker1');

然后当第一个敌人出现在屏幕上时,我尝试运行这个命令,但它失败了。

Game.creeps.Attacker1.attack("Player 3");

敌人的正确语法是什么?

编辑:添加用于访问游戏中对象的文档链接。 http://screeps.com/docs/Creep.php

“玩家3”是敌人的名字。我需要一些如何瞄准敌人并与他们作战。

4

1 回答 1

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]);

这段代码:

  1. 创建一个名为的Attacker1cree并将对象分配给一个名为attacker的var
  2. 使用攻击者的find()函数找到所有敌人并将它们分配给一个名为敌人的数组
  3. 将你的攻击者移动到阵列中的第一个敌人(.attack()仅适用于近距离)
  4. 攻击敌人阵列中的第一个敌人
于 2014-11-21T05:59:10.643 回答