Unity随机函数的问题
Problems with Unity Random Function
晚上好,我正在做一个图形冒险,我想用一个 4 位代码做一个随机函数,结果因为我是一个非常新手的程序员,我遇到了一个不方便的问题
private void CheckResults()
{
if (codeSequence = RandomCode.RanCode.ToString())
{
SoundManager.PlaySound("nice");
}
else
{
SoundManager.PlaySound("wrong");
}
"RandomCode.RanCode" 是一个 int void,添加 "ToString" 会报错
“RanCode 是一种在给定上下文中无效的方法”
这是 RandomCode void:
public void RanCode()
{
Code = Random.Range(1111, 9999);
}
如果有人有任何想法或解决方案,我将永远感激
没有“int void”这样的东西。一种方法要么 return 什么都没有 (void
) 要么 return 是一个值(在你的情况下你似乎期望 int
)。
// Returns nothing
// |
// v
public void RanCode()
{
// assigns result of `Range` to `Code` property/field
Code = Random.Range(1111, 9999);
}
如果你还想return这个值,你需要像这样重写你的方法:
public int RanCode()
{
Code = Random.Range(1111, 9999);
return Code;
}
您这里还有一个问题:
RandomCode.RanCode.ToString()
要调用你需要()
的方法,所以应该是这样的:
RandomCode.RanCode().ToString()
此外,对于相等性检查,您需要 ==
而不是 =
(这是赋值)。
我很想知道你为什么要在这里给 Code
赋值。如果我们使用您现有的代码(没有我上面的修复),我想也许您打算用这样的方式代替?:
private void CheckResults()
{
RandomCode.RanCode();
if (codeSequence == RandomCode.Code.ToString())
{
SoundManager.PlaySound("nice");
}
else
{
SoundManager.PlaySound("wrong");
}
}
晚上好,我正在做一个图形冒险,我想用一个 4 位代码做一个随机函数,结果因为我是一个非常新手的程序员,我遇到了一个不方便的问题
private void CheckResults()
{
if (codeSequence = RandomCode.RanCode.ToString())
{
SoundManager.PlaySound("nice");
}
else
{
SoundManager.PlaySound("wrong");
}
"RandomCode.RanCode" 是一个 int void,添加 "ToString" 会报错
“RanCode 是一种在给定上下文中无效的方法”
这是 RandomCode void:
public void RanCode()
{
Code = Random.Range(1111, 9999);
}
如果有人有任何想法或解决方案,我将永远感激
没有“int void”这样的东西。一种方法要么 return 什么都没有 (void
) 要么 return 是一个值(在你的情况下你似乎期望 int
)。
// Returns nothing
// |
// v
public void RanCode()
{
// assigns result of `Range` to `Code` property/field
Code = Random.Range(1111, 9999);
}
如果你还想return这个值,你需要像这样重写你的方法:
public int RanCode()
{
Code = Random.Range(1111, 9999);
return Code;
}
您这里还有一个问题:
RandomCode.RanCode.ToString()
要调用你需要()
的方法,所以应该是这样的:
RandomCode.RanCode().ToString()
此外,对于相等性检查,您需要 ==
而不是 =
(这是赋值)。
我很想知道你为什么要在这里给 Code
赋值。如果我们使用您现有的代码(没有我上面的修复),我想也许您打算用这样的方式代替?:
private void CheckResults()
{
RandomCode.RanCode();
if (codeSequence == RandomCode.Code.ToString())
{
SoundManager.PlaySound("nice");
}
else
{
SoundManager.PlaySound("wrong");
}
}