C#

Нужна помощь С#

Нужна помощь в коде

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class CarController : MonoBehaviour
{



public float maxAngle = 30f; // Максимальный угол наклона машины, при котором игрок будет проигрывать

public string gameOverMessage = "Вы проиграли"; // Сообщение, которое будет выводиться при проигрыше
internal bool isGameOver;

private void Update()
{

// Получаем текущий угол наклона машины относительно земли

float angle = transform.rotation.eulerAngles.z;

if (angle > 180f) angle -= 360f;

angle = Mathf.Abs(angle);



// Если угол наклона больше максимального значения, выводим сообщение о проигрыше

if (angle > maxAngle)
{

Debug.Log(gameOverMessage);

// Дополнительные действия, связанные с завершением игры

}

}

}

public class GameManager : MonoBehaviour
{



public GameObject car; // Ссылка на объект машины

public string sceneName = "GameOver"; // Название сцены, которая будет загружена после проигрыша



private CarController carController; // Ссылка на контроллер машины



private void Start()
{

carController = car.GetComponent<CarController>();

}



private void Update()
{

// Если игрок проиграл, загружаем сцену с сообщением о проигрыше

if (carController.isGameOver)
{

SceneManager.LoadScene(sceneName);

}

}

}

public class GameManager : MonoBehaviour - и тут ошибка
{



// ...



private bool isGameOver = false;



// ...



private void Update() - тут ошибка
{

if (carController.isGameOver && !isGameOver)
{

// Если игрок проиграл в первый раз, выполняем дополнительные действия

isGameOver = true;

// Заканчиваем игру

StopGame();

// Загружаем сцену с сообщением о проигрыше

SceneManager.LoadScene(sceneName);

}

}



private void StopGame()
{

// Выключаем звук

AudioListener.pause = true;

// Сохраняем результаты

SaveResults();

}



private void SaveResults()
{

// ...

}

}
Tulegen Narbaev
Tulegen Narbaev
164
Вам необходимо исправить следующие ошибки в коде:

Одно из объявлений класса GameManager содержит некорректное объявление класса. Вам нужно объединить два класса GameManager в один и удалить повторяющийся код.

В конце кода есть некорректный комментарий. Вам нужно удалить его или закончить предложение.

Вот исправленный код:


 using System.Collections;  
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class CarController : MonoBehaviour
{
public float maxAngle = 30f; // Максимальный угол наклона машины, при котором игрок будет проигрывать
public string gameOverMessage = "Вы проиграли"; // Сообщение, которое будет выводиться при проигрыше
internal bool isGameOver;

private void Update()
{
// Получаем текущий угол наклона машины относительно земли
float angle = transform.rotation.eulerAngles.z;

if (angle > 180f) angle -= 360f;
angle = Mathf.Abs(angle);

// Если угол наклона больше максимального значения, выводим сообщение о проигрыше
if (angle > maxAngle)
{
Debug.Log(gameOverMessage);
// Дополнительные действия, связанные с завершением игры
}
}
}

public class GameManager : MonoBehaviour
{
public GameObject car; // Ссылка на объект машины
public string sceneName = "GameOver"; // Название сцены, которая будет загружена после проигрыша

private CarController carController; // Ссылка на контроллер машины
private bool isGameOver = false;

private void Start()
{
carController = car.GetComponent();
}

private void Update()
{
if (carController.isGameOver && !isGameOver)
{
// Если игрок проиграл в первый раз, выполняем дополнительные действия
isGameOver = true;

// Заканчиваем игру
StopGame();

// Загружаем сцену с сообщением о проигрыше
SceneManager.LoadScene(sceneName);
}
}

private void StopGame()
{
// Выключаем звук
AudioListener.pause = true;

// Сохраняем результаты
SaveResults();
}

private void SaveResults()
{
// ...
}
}

Я объединил два класса GameManager в один и удалил некорректный комментарий в конце кода. Теперь код должен работать корректно.
КС
Карен Сосмиашвиль
6 592
Лучший ответ
Tulegen Narbaev Братан, спасибо тебе большое
Tulegen Narbaev А ты хорошо С# знаешь?
в чем вопрос?
Tulegen Narbaev Там ошибки, нужна помощь чтобы устранить их