Как добавить Jump Force, когда я собираю монету - PullRequest
0 голосов
/ 01 июня 2019

Итак, у меня есть монета на моей сцене прямо сейчас. Я настроил ее как Триггер и исчезаю, когда сталкиваюсь с ней, у меня есть функциональный код, который всегда заставляет меня прыгать, когда я нажимаю пробел, но я хочу только может прыгнуть после того, как я соберу монету.

Ну, я не знаю, с чего начать, я довольно недавно начал писать 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 голосов
/ 05 июня 2019

Определите бул, чтобы отслеживать, собрана ли монета, и метод 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;
          }
      }

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...