Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Input.GetKeyDown不';我叫它两次就不行了_C#_Unity3d - Fatal编程技术网

C# Input.GetKeyDown不';我叫它两次就不行了

C# Input.GetKeyDown不';我叫它两次就不行了,c#,unity3d,C#,Unity3d,当我调用Input.GetKeyDown(“space”)时,我试图让一个多维数据集以统一的方式下降,当一个多维数据集下降时,第二个多维数据集生成,当按下空格时再次下降,然而,当我再次按下它时,它不起作用,这是我的代码 void Update () { if (Input.GetKeyDown("space")) { if (!ss) { shabi.useGravity = true; shabi

当我调用
Input.GetKeyDown(“space”)
时,我试图让一个多维数据集以统一的方式下降,当一个多维数据集下降时,第二个多维数据集生成,当按下空格时再次下降,然而,当我再次按下它时,它不起作用,这是我的代码

void Update () 
{
    if (Input.GetKeyDown("space"))
    {
        if (!ss)
        {
            shabi.useGravity = true;
            shabi.AddForce(0, 0, -100);
            ss = true;
        }
    }

    if (cube1.transform.position.y == y)
    {
        if (!singleExecution)
        {
            Rigidbody newCube = spawn();
            if (Input.GetKeyDown("space")) //THE PART THAT DOESN'T WORK
            {
                Debug.Log("sb");
                newCube.useGravity = true;
                newCube.AddForce(0, 0, -100);
            }
            y++;
            //cubeY += 2;
            singleExecution = true;
        }
    }
}
void更新()
{
if(Input.GetKeyDown(“空格”))
{
如果(!ss)
{
shabi.useGravity=真;
shabi.AddForce(0,0,-100);
ss=真;
}
}
if(cube1.transform.position.y==y)
{
如果(!singleExecution)
{
刚体newCube=spawn();
if(Input.GetKeyDown(“space”)//不工作的部分
{
调试日志(“sb”);
newCube.useGravity=true;
AddForce(0,0,-100);
}
y++;
//cubeY+=2;
singleExecution=true;
}
}
}

函数
spawn()
用于生成另一个多维数据集,第二个
输入。GetKeyDown
不起作用,感谢您回答我的问题

我想问题实际上已经在前面的行中了:

if(cube1.transform.position.y==y)
由于第一个对象使用重力,一帧中的位置与
y
精确匹配的几率有多大?此外,比较两个
float
值可能永远不会匹配,即使该值应该相同,请参阅以了解有关该值的更多信息

这几乎永远不会是真的,因此您的代码甚至没有到达
输入部分

现在你当然可以使用

if(数学近似(cube1.transform.position.y,y)
仍试图匹配精确的
y
值,但匹配自由落体的几率仍然很小


相反,你应该使用定性比较,比如
调试代码显示了什么?如果有重力和浮点数,我假设比较从来都不是真的,谢谢你回答我的问题!它没有显示sb,我在spawn()中将新多维数据集的重力设置为false,你在哪里将singleExecution设置为false?