Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написал скрипт чтобы при столкновении игрока с платформой(шипами)происходила смерть игрока.Но он не работает.Unity

Фёдор Ходченков Ученик (116), на голосовании 1 неделю назад
Игрока.Но он не работает.Unity
Смерть показывается так:вылезает панель на которой находится кнопка рестарта и надпись "ты умер".При это игра останавливается путём остановки времени.Помогите,в чём ошибка?
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class PlayerDeath : MonoBehaviour
{
public GameObject deathPanel; // Панель смерти
public Text deathMessage; // Текст на панели смерти
public Button restartButton; // Кнопка перезапуска уровня
public Button otherButton; // Дополнительная кнопка (по желанию)

// Метод, который вызывается при столкновении
private void OnTriggerEnter(Collider other)
{
// Проверяем, столкнулся ли игрок с шипами
if (other.CompareTag("Spikes"))
{
// Убиваем игрока
KillPlayer();
}
}

// Метод, который убивает игрока
private void KillPlayer()
{
// Останавливаем время в игре
Time.timeScale = 0f;

// Активируем панель смерти
deathPanel.SetActive(true);

// Устанавливаем текст на панели смерти
deathMessage.text = "Ты умер!";

// Добавляем обработчик события для кнопки перезапуска
restartButton.onClick.AddListener(RestartLevel);

// (По желанию) Добавляем обработчик события для дополнительной кнопки
// otherButton.onClick.AddListener(DoSomethingElse);
}

// Метод, который перезапускает уровень
private void RestartLevel()
{
// Перезапускаем текущий уровень
SceneManager.LoadScene(SceneManager.GetActiveScene().name);

// Восстанавливаем время в игре
Time.timeScale = 1f;
}
}
Голосование за лучший ответ
Похожие вопросы