无法识别方法参数

  • 本文关键字:参数 方法 识别 c#
  • 更新时间 :
  • 英文 :


我的代码如下:

void Update()
{
if (Input.GetKeyDown(KeyCode.G) && questCount == 6)
{
Score(sumFinal);
}
}
public int Score(int sumFinal)
{
sumFinal = dCount - rCount;
return sumFinal;
}

Visual Studio告诉sumFinal在当前上下文中不存在。如何在Update((中成功返回sumFinal?我是否正确理解了参数?

附加问题:

在Score((函数的下面,我将文本设置为某些值:

public int Score(int sumFinal) 
{ 
sumFinal = dCount - rCount;
return sumFinal; 
if (sumFinal == 5 && questCount >= 5) 
{ 
labelText.text = "results"; 
}
} 

在Update((中调用此函数时,有没有一种方法可以分别运行if语句和sumFinal减法方程?简而言之,如何对函数进行分段,并只调用其中的特定部分?返回类型是否应设置为void?

Visual Studio告诉我sumFinal在当前上下文中不存在。如何在Update((中成功返回sumFinal?我是否正确理解了参数?

方法Score看起来很棒!但是,当您调用它Score(sumFinal);时,您需要确保将一个值传递给该方法。在您的情况下,您可能忘记了将值放在类顶部的字段。

有没有一种方法可以分别运行if语句和sumFinal减法方程?

当然!您可以做的是,由于在调用Score时实际上没有给它任何值,因此可以删除该参数,只返回它计算的值。

我们可以将更新文本分离为另一种称为UpdateTextBox()的方法,该方法使用Score()的结果来确定是否应该更改文本

public class YourUnityClass : MOnoBehaviour
{
int questCount = 0;
int sumFinal = 0; // make sure that if you need to access this variable between methods that this field exists
int dCount = 0;
int rCount = 0;
public TextMesh labelText;
void Update()
{
if (Input.GetKeyDown(KeyCode.G) && questCount == 6)
{
// calculate and save the score
sumFinal = Score();

// check the score, and update the text if necessary
UpdateTextBox(sumFinal);
}
}
public int Score()
{
// calculate the score
return dCount - rCount;
}
public void UpdateTextBox(int sumFinal)
{
// check to see if the score is high enough to change
// the text
if (sumFinal == 5 && questCount >= 5)
{
labelText.text = "results";
}
}
}

最新更新