创建一个" Jump Pad"在Unity3D中

时间:2018-03-01 13:23:09

标签: c# unity3d

因此,当我走路/跳过一个已经被最小化的圆柱体这样的物体时,我一直在通过互联网搜索一种让我自动跳跃的方法。我找到的只是关于如何使对象通过另一个静止不动的对象的教程。我基本上要求的是OnTriggerEnter的帮助,以及当我走路/跳过它时如何实际编码圆柱体以使我自动跳跃。我尝试过一些东西,但似乎都没有。

1 个答案:

答案 0 :(得分:1)

你可以用来投掷你的玩家的是Rigidbody.AddForce

将它与作为触发器的对象一起使用:

触发对象:A trigger object
你怎么用呢?像这样:

private void OnTriggerEnter(Collider other)
{
    other.GetComponent<Rigidbody>().AddForce(Vector3.up * jumpForce);
}

如果你按下空格,怎么让它把你扔掉?

private void OnTriggerStay(Collider other)
{
    if(Input.GetKeyDown(KeyCode.Space))
        other.GetComponent<Rigidbody>().AddForce(Vector3.up * jumpForce);
}


将它与不是触发器的对象一起使用:

非触发对象:Non-Trigger object
你怎么用呢?像这样:

private void OnCollisionStay(Collision other)
{
    other.collider.GetComponent<Rigidbody>().AddForce(Vector3.up * 300);
}

如果你按下空格,怎么让它把你扔掉?

private void OnCollisionStay(Collision other)
{
    if (Input.GetKeyDown(KeyCode.Space))
        other.collider.GetComponent<Rigidbody>().AddForce(Vector3.up * 300);
}


AddForce的作用是什么?

AddForce会向您指定的方向添加力

有关AddForce的更多信息:https://docs.unity3d.com/ScriptReference/Rigidbody2D.AddForce.html