如何在C#Unity

时间:2016-02-10 12:37:34

标签: c# function unity3d compiler-errors

这是我的功能:

public void PowerupCollected(int AddScore)
{
    score += AddScore;
    scoreGUI.text = "lol"+score;
}

以下是我如何称呼该功能:

if(other.gameObject.name == "Powerup(Clone)")
{
    control.PowerupCollected();
}

这是错误消息

  

错误CS1501:方法“PowerupCollected”没有重载需要0个参数

有什么问题?是因为我在调用函数时在括号中没有包含AddScore吗?

2 个答案:

答案 0 :(得分:1)

将AddScore参数添加到您的调用中(例如control.PowerupCollected(42);或将参数设为可选:public void PowerupCollected(int AddScore = 0)

由于第二种解决方案在您的情况下没有意义,我会使用第一种解决方案。

答案 1 :(得分:0)

您的函数调用应包含您要添加的分数:

if(other.gameObject.name == "Powerup(Clone)")
{
    control.PowerupCollected();
}

应该是(例如):

if(other.gameObject.name == "Powerup(Clone)")
{
    control.PowerupCollected(10);
}

这会为你的分数增加10分。