我正在Unity中创建一个计算器,遇到了一个问题。因此我需要更改bool值以写入计算器的第二个数字。
我的脚本附加到场景中的所有按钮(游戏对象)。
我需要将此值更改为true
以写入计算器的第二个数字。
private bool input_second_num;
public void Input(){
if (calculate_label.text.Length < 15 && !input_second_num)
{
calculate_label.text += btnNumber;
first_num = long.Parse(calculate_label.text);
}
esle if (calculate_label.text.Length < 15 && input_second_num)
{
calculate_label.text += btnNumber;
second_num = long.Parse(calculate_label.text);
}
}
//Calls when clicking on action button
public void Action()
{
input_second_num = true;
calculate_label.text = " ";
}
起初input_second_num
是false
,首先写入第一个数字。当我在另一个函数中将input_second_num
更改为true
时,单击操作按钮,然后尝试输入第二个数字,input_second_num
无论如何都是假的,我正在为first_number
键入数字。
为什么会这样?
1条答案
按热度按时间j8yoct9x1#
这很难用发布的代码来回答,我最初的观察需要更多的东西,而不是一条评论。
public void Input()
的函数,我看不出这段代码是如何构建的;因此,我必须假设它们是在不同的类类型中声明的。您正在使用
else
启动if
块语句-是否缺少代码?input_second_num
声明为private static input_second_num;
没有再次分配数据类型,我看不出您的代码是如何毫无问题地构建的。
请重新考虑您的问题,并向我们展示更多的类代码。