C# 与++;操作人员
每次调用LevelChange函数时,我都试图将1添加到变量levelname中。但是,每次调用它时,它都会将值重置为1,就像最初在代码开头设置的值一样。我习惯C++,而且很困惑。这段代码有点草率,因为我尝试了很多方法来解决这个问题。任何帮助都将不胜感激。 缺少一个括号,因为出于某种原因,我无法使这一行进入代码块C# 与++;操作人员,c#,unity3d,syntax,logic,operators,C#,Unity3d,Syntax,Logic,Operators,每次调用LevelChange函数时,我都试图将1添加到变量levelname中。但是,每次调用它时,它都会将值重置为1,就像最初在代码开头设置的值一样。我习惯C++,而且很困惑。这段代码有点草率,因为我尝试了很多方法来解决这个问题。任何帮助都将不胜感激。 缺少一个括号,因为出于某种原因,我无法使这一行进入代码块 public class NextLevel : MonoBehaviour { int levelname = 1; int newlevelname; st
public class NextLevel : MonoBehaviour {
int levelname = 1;
int newlevelname;
string levelnameS;
void LevelChange()
{
levelname++;
newlevelname = levelname;
string levelnameS = newlevelname.ToString(); //Converts newlevelname which is an int value to a string
Debug.Log(levelnameS); //prints to the console
SceneManager.LoadScene(levelnameS); //changes scene based on the level name. In this case its a number because thats what the levels are named.
Debug.Log(levelname);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
LevelChange(); //calls the level change function
}
}
}
使用
公共静态int-levelname=1代码>
使用公共静态int-levelname=1代替int-levelname=1代码>
实例属性不是int-levelname=1
levelname
。类NextLevel
的每个实例都有自己的值。因此,如果每次创建NextLevel
的新实例并调用Update
count,则计数始终从1开始
您可以将levelname
切换到静态属性,或者始终使用类NextLevel
的一个实例levelname
是实例属性。类NextLevel
的每个实例都有自己的值。因此,如果每次创建NextLevel
的新实例并调用Update
count,则计数始终从1开始
您可以将levelname
切换到static属性,或始终使用类NextLevel
的一个实例,该类的实例保存在何处?@visualincent它是事件处理程序对象的一个组件。当涉及到从一个级别切换到另一个级别时,它会起作用,但是值不会上升超过一次。这回答了你的问题吗?我不确定你在问什么。那么你的问题很可能是每次你进入一个新的级别时都会创建一个新的实例。采纳其他人的建议,将变量设置为静态@visualincent谢谢!没问题。您可以在上阅读有关static
的更多信息。该类的实例存放在何处?@visualincent是事件处理程序对象的一个组件。当涉及到从一个级别切换到另一个级别时,它会起作用,但是值不会上升超过一次。这回答了你的问题吗?我不确定你在问什么。那么你的问题很可能是每次你进入一个新的级别时都会创建一个新的实例。采纳其他人的建议,将变量设置为静态@visualincent谢谢!没问题。您可以在上阅读更多关于static
。我解决了这个问题,但只是为了将来,我如何仅使用一个NextLevel实例?@user3103529我不知道如何创建和使用对象类型NextLevel
,示例代码太少了。但是阅读关于静态成员和实例成员之间的关系,使用静态成员有一些必要,例如,如果您想要多个类的实例,静态成员对每个实例总是具有相同的值..我解决了这个问题,但只是为了将来,我如何只使用一个NextLevel实例?@user3103529我不知道如何创建和使用对象类型NextLevel
,示例代码太少了。但是阅读关于静态成员和实例成员之间的关系,使用静态成员有一些必要。例如,如果您想要多个类的实例,静态成员对每个实例总是具有相同的值。这将有助于其他人。作为一般规则,您真的不应该在工程软件中使用静态或全局。随着时间的推移,尝试建立您的基本软件工程技能!这将有助于其他人,而不是在工程软件中使用静态或全局。随着时间的推移,尝试建立您的基本软件工程技能!