类型已经定义了一个具有相同参数类型的成员。

问题描述 投票:-2回答:2

我有一个错误的说法。

'GameManager'类型已经定义了一个叫做'Update'的成员,其参数类型相同。

Unity中的错误信息

这是我的代码

unity3d
2个回答
1
投票

好吧,就像其他人说的那样,你正在尝试把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]);
    }
}

0
投票

你的代码看起来像这样。

void Update() {
    ...
}

void Update() {
    ...
}

你只能有一个 Update() 定义。应将它们合并为一个定义。

© www.soinside.com 2019 - 2024. All rights reserved.