@lenyakap

Как решить ошибку "Не удается неявно преобразовать тип «void» в "float""?

Я новичок в C# и решил сделать игру на юнити. В процессе создания скрипта для изменения чувствительности мыши через слайдер столкнулся с такой ошибкой как "Не удается неявно преобразовать тип "void" в "float"".
public class SettingsGame : MonoBehaviour
{
    public GameObject settings;
    Resolution[] resolutions;
    public Dropdown resolutionsDropdown;
    public float MSensitivity;
    void Update()
    {
        PlayerLook.MouseSensitivity = MouseSensitivity(MSensitivity); // Ошибка тут
    }
    public void Settings()
    {
        settings.SetActive(!settings.activeSelf);
    }
    public void setBGM(float value)
    {
        GlobalSettings.BGM = value;

    }
    public void setSFX(float value)
    {
        GlobalSettings.SFX = value;

    }

    public void MouseSensitivity(float value)
    {
        float MSensitivity = value;
    }

обрезал лишние строки
  • Вопрос задан
  • 1264 просмотра
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy
Android developer at Yandex
Что ты пытаешься сделать, я не понял, но есть ошибки:
Метод public void MouseSensitivity(float value) возвращает void, то есть ничего.
PlayerLook.MouseSensitivity присваивается то, что вернёт этот твой метод.

Ещё ошибка - внутри метода MouseSensitivity ты создаёшь новую переменную (float MSensitivity = value) и просто присваиваешь ей значение. Ничего не поменялось, тк она уничтожается после выхода из метода. Убери флоат.
Ответ написан
Комментировать
GavriKos
@GavriKos
Какой тип данных у PlayerLook.MouseSensitivity и почему?

Я новичок в C# и решил сделать игру на юнити.

Тогда советую начать с основ сишарпа, не трогая юнити. Ошибка то в целом банальная, будете спотыкаться часто
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы