Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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# 我的跳转脚本一次也没有跳转_C#_Unity3d - Fatal编程技术网

C# 我的跳转脚本一次也没有跳转

C# 我的跳转脚本一次也没有跳转,c#,unity3d,C#,Unity3d,我正试着测试一条能跳出水面的鱼。我的脚本似乎很好,但当我按下键时什么也没发生。我遵循一个简单的教程,它似乎对每个人都适用。我做错了什么?在以后的捕获脚本中引用它时,我如何使它更简单,而无需按下键。这是因为鱼以后会自己跳 public bool onGround; private Rigidbody rb; // Use this for initialization void Start () { onGround = true; rb = GetComponent<R

我正试着测试一条能跳出水面的鱼。我的脚本似乎很好,但当我按下键时什么也没发生。我遵循一个简单的教程,它似乎对每个人都适用。我做错了什么?在以后的捕获脚本中引用它时,我如何使它更简单,而无需按下键。这是因为鱼以后会自己跳

public bool onGround;
private Rigidbody rb;

// Use this for initialization
void Start () 
{
    onGround = true;
    rb = GetComponent<Rigidbody> ();
}

// Update is called once per frame
void update ()
{

    if (onGround) 
    {
        if (Input.GetKeyDown ("a"))
        {
            rb.velocity = new Vector3 (0f, 5f, 0f);
            onGround = false;
        }
    }
}
publicbool-onGround;
私人刚体;
//用于初始化
无效开始()
{
onGround=正确;
rb=GetComponent();
}
//每帧调用一次更新
无效更新()
{
如果(每轮)
{
if(Input.GetKeyDown(“a”))
{
rb.velocity=新矢量3(0f,5f,0f);
onGround=假;
}
}
}

}

事实上,更可能的情况是更新功能设置不正确

换成

void Update()

对,可能是拼写错误(区分大小写),请参见下面的TJ Wolschons答案。对于测试,您始终可以在要测试的点添加
Debug.Log
-语句,并查看它是否实际打印到控制台。对于问题的最后一部分,只需将其设置为一个普通函数,如
public void Jump()
,并根据您要用于触发它的逻辑(例如一些冷却时间)调用该函数。我这样做了,但当我按下a时,它似乎仍然没有反应。我的对象上也有刚体,它很好地落在了场景中。按照Gunnar的建议,尝试在调试器中单步通过它,看看它是否甚至超过了if语句