Ошибка связана с тем, что вы пытаетесь вызвать метод loadScene, которого не существует в SceneManager. Правильный метод называется LoadScene (обратите внимание на заглавные буквы).
### Исправленный код:
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
public class healthplayer : MonoBehaviour
{
public static byte health;
public static bool gameOver;
public TextMeshProUGUI playerHealthText;
void Start()
{
health = 100;
gameOver = false;
}
void Update()
{
playerHealthText.text = "" + health;
if (gameOver)
{
SceneManager.LoadScene("level"); // Используем LoadScene с заглавной буквы L
}
}
public static void Damage(byte damageCount)
{
health -= damageCount;
if (health <= 0)
{
gameOver = true;
}
}
}
### Объяснение изменений:
1. Исправление метода LoadScene:
- Замените SceneManager.loadScene("level"); на SceneManager.LoadScene("level");. Это изменение исправляет использование неправильного имени метода.
Также убедитесь, что вы включили все необходимые using-директивы (как в вашем случае с UnityEngine.SceneManagement, что вы уже сделали правильно).
вот код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;
public class healthplayer : MonoBehaviour
{
public static byte health;
public static bool gameOver;
public TextMeshProUGUI playerHealthText;
void Start()
{
health = 100;
gameOver = false;
}
void Update()
{
playerHealthText.text = "" + health;
if (gameOver)
{
SceneManager.loadScene("level");
}
}
public static void Damage (byte damageCount)
{
health -= damageCount;
if (health <= 0)
{
gameOver = true;
}
}
}