好吧,就像其他人说的那样,你正在尝试把GameObject当作一个方法来使用。而且这样是行不通的。
你现在得到的错误是由重复的Update()引起的。试着把第一个Update()改成Start(),编辑我的代码如下。
试试下面的代码
void Start()
{
SelectZombie(selectedZombie);
}
void Update()
{
if(Input.GetKeyDown("left"))
{
GetZombieLeft();
}
if(Input.GetKeyDown("Right"))
{
GetZombieRight();
}
if(Input.GetKeyDown("up")){
}
}
void GetZombieLeft()
{
if (selectedZombiePosition == 0)
{
SelectZombie(zombies[3]);
}
else
{
GameObject newZombie = zombies[selectedZombiePosition - 1];
SelectZombie(newZombie);
}
}
void GetZombieRight()
{
if (selectedZombiePosition == 3)
{
SelectZombie(zombies[0]);
}
else
{
SelectZombie(zombies[selectedZombiePosition + 1]);
}
}
你的代码看起来像这样。
void Update() {
...
}
void Update() {
...
}
你只能有一个 Update()
定义。应将它们合并为一个定义。