Итак, в моем сценарии движения персонажа я пытаюсь воспроизвести звук прыжка, который есть у меня, когда мой персонаж прыгает.Это прекрасно работает, но у меня есть проблема:
В моей игре, когда я бью вражеский объект, движение моего персонажа останавливается, и появляется меню.Проблема здесь в том, что иногда я бью вражеский объект, пока еще в воздухе.Это заставляет мой звук прыгать и постоянно воспроизводить очень быстро, создавая действительно ужасный шум, так как, когда я ударяю по объекту, мой персонаж перестает двигаться в воздухе.
Просто чтобы прояснить, проблема не в том, чтобы поразить настоящего врага, проблема в том, что у меня есть звук прыжка, чтобы играть, когда я прыгаю, и, поскольку я умираю на вершине врага, я предполагаю, что звуки прыжка продолжают повторяться, потому чтоЯ никогда не выхожу из прыжка, потому что после смерти все движения персонажа прекращаются, поэтому я все еще застреваю на вершине препятствия, поэтому прыжок никогда не заканчивается, и на экране появляется меню.
мой текущий код дляпрыжки это:
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 ();играть только один раз и не повторять и издавать этот ужасный шум, когда я умираю на вершине вражеского объекта?
Редактировать: Я полагаю, что потенциальным решением проблемы может быть отключение только звукового клипа прыжка или аудиоисточника, как только появится меню смерти.