键盘输入使每次击键加倍

时间:2015-05-03 09:03:52

标签: c# unity3d keyboard

我一直致力于制作一个十几岁的计算器,到目前为止它还顺利进行。我有一个允许我点击数字的UI,但是当我使用我的小键盘输入我的数字时会发生奇怪的事情。

当我按下我的小键盘上的任何数字而不是点击时,我会得到双打。 例如:

如果我点击屏幕上的2,我会得到" 2"

如果我在我的小键盘上按2,我会得到" 22"

这是我的UI代码的一部分:

if(GUI.Button(new Rect(113, 186, 47, 30), numeral[2])) 
            AppendNumber(numeral[2]);

这是我键盘代码的一部分:

if(Input.GetKeyDown("[2]"))
        AppendNumber(numeral[2]);

这是我的追加代码:

void AppendNumber (string num)
{
    if (opIsActive == false)
    {
        slotA = num;
        } else {
        slotB = num;
    }

    if (currentNumber != numeral[0])
    {
        currentNumber = currentNumber + num;
        if (opIsActive == false)
        {
            slotA = currentNumber;
            } else {
                slotB = currentNumber;
            }
        } else {
            currentNumber = num;
    }
}

任何方式,现在我的键盘功能被禁用。如果有人知道问题可能是什么,我很乐意看到。

0 个答案:

没有答案