收集硬币时如何增加跳跃力

时间:2019-06-01 04:38:25

标签: c# unity3d

所以我现在在场景中有一个硬币,我将其设置为触发器并在遇到它时消失,我有功能代码,当我按空格键时,我总是跳起来,但是我只想成为收集硬币后就能跳起来。

好吧,我真的不知道从哪里开始,我是2天前刚开始写代码的人。我似乎在YouTube上找不到任何内容。

//-----------This Code allows the coin to disappear when collected-----------

{

    private void OnTriggerEnter(Collider plyr)
    {
        if (plyr.gameObject.tag == "Player")
            gameObject.SetActive(false);
    }

}
//---------------------------This is Jump----------------------------------

 if (onGround)

          {
              if (Input.GetButtonDown("Jump"))
              {
                rb.velocity = new Vector3(0f, 50f, 0f);
                  onGround = false;
              }
          }

      }

    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.CompareTag("Ground"))
        {
            onGround = true;

        }
    }

1 个答案:

答案 0 :(得分:0)

定义一个布尔值以跟踪是否收集了硬币以及Player脚本中的OnTriggerEnter方法。我假设您有一个用于硬币对象的标签,称为“硬币”。

private bool coinCollected = false

private void OnTriggerEnter(Collision other)
{
    if(other.gameObject.CompareTag("Coin"))
    {
        coinCollected = true;
    }
}

然后修改您的跳转方法:

 if (onGround)

      {
          if (Input.GetButtonDown("Jump"))
          {
            rb.velocity = new Vector3(0f, 50f, 0f);
            onGround = false;
            coinCollected = false;
          }
      }

  }