Как я могу убедиться, что звук воспроизводится только один раз и до сих пор ошибка? - PullRequest
0 голосов
/ 27 января 2019

Итак, в моем сценарии движения персонажа я пытаюсь воспроизвести звук прыжка, который есть у меня, когда мой персонаж прыгает.Это прекрасно работает, но у меня есть проблема:
В моей игре, когда я бью вражеский объект, движение моего персонажа останавливается, и появляется меню.Проблема здесь в том, что иногда я бью вражеский объект, пока еще в воздухе.Это заставляет мой звук прыгать и постоянно воспроизводить очень быстро, создавая действительно ужасный шум, так как, когда я ударяю по объекту, мой персонаж перестает двигаться в воздухе.

Просто чтобы прояснить, проблема не в том, чтобы поразить настоящего врага, проблема в том, что у меня есть звук прыжка, чтобы играть, когда я прыгаю, и, поскольку я умираю на вершине врага, я предполагаю, что звуки прыжка продолжают повторяться, потому чтоЯ никогда не выхожу из прыжка, потому что после смерти все движения персонажа прекращаются, поэтому я все еще застреваю на вершине препятствия, поэтому прыжок никогда не заканчивается, и на экране появляется меню.

мой текущий код дляпрыжки это:

if (controller.isGrounded)
{
    // Jumping for pc
    verticalVelocity = -gravity * Time.deltaTime;
    if (Input.GetKeyDown(KeyCode.Space)) 
    {
        verticalVelocity = jumpForce;
        animator.SetBool("is_in_air", true);
        jump.Play();
    }   
}

Что мне нужно сделать здесь, чтобы сделать только прыжок. Play ();играть только один раз и не повторять и издавать этот ужасный шум, когда я умираю на вершине вражеского объекта?

Редактировать: Я полагаю, что потенциальным решением проблемы может быть отключение только звукового клипа прыжка или аудиоисточника, как только появится меню смерти.

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