В моей первой игре, над которой я сейчас работаю, я пытаюсь сделать кусочек звука и анимацию взрыва, которая произойдет, когда игрок умрет.Я получил его на работу совершенно нормально.Сразу после строки кода, которая воспроизводит звук, я использовал вызов, чтобы задержать респаун.Это вызвало следующую проблему: анимация воспроизводится, но без звука.Затем проигрыватель возрождается после задержки и только после задержки воспроизводится мой звук.
Я не смог придумать способ исправить это (недавно я начал кодировать с единицей, поэтому яне знаю много вариантов).Это код, который выполняется, когда игрок 1 умирает:
public void LoseLifeP1()
{
Debug.Log("Player1 died");
playerNumber = 1;
FindObjectOfType<AudioManager>().Play("PlayerDeath");
Respawn(playerNumber);
}
public void Respawn(int playernumber)
{
if (playerNumber == 1)
{
Invoke("waiter1", 1.5f);
}
}
public void waiter1()
{
Player1.transform.position = spawnpoint2.transform.position;
Player1.transform.rotation = spawnpoint2.transform.rotation;
Player1.velocity = speed;
}
Таким образом, даже если вы видите, что звук должен воспроизводиться до респауна, он воспроизводится после респауна.Как бы это исправить?
Заранее спасибо!