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";
}
}
}
推荐阅读
- laravel - 如何从请求(规则)中获取用户 ID 进行更新?
- ibm-midrange - CALLP 也是动态调用还是可以被视为 ILE RPG 中的静态调用
- if-statement - Orion/Eclipse 中的自动完成
- asynchronous - 有没有办法在没有 Box 的情况下对 Rust 进行递归异步调用?
- python - 使用 @tf.function 将输入转换为 UTF-8
- python - Pip 命令行“ImportError: No Module Named Typing”
- text - 我不能在标题下放文字
- arrays - 在 bash 函数中声明不能按预期使用关联数组
- angular - 关于在 Angular 项目中使用 async/await 的注意事项
- r - 如何从 r-markdown pdf 中删除标题?