У кого не вставляется Dropdown в поле скрипта. То у вас скорее всего TextMeshPro dropdown. Для того, чтобы все заработало просто добавьте в скрипт пространство имен using TMPro и в переменных вместо Dropdown напишите TMP_Dropdown и все!
@@darklordkreep1636 Надо смотреть в самом проекте, здесь показано на чистую сцену, может быть конфликты какие то со скриптами, где то что то пропустил, чек поинт какой то не отметил или наоборот, смотреть надо, как я помогу. Попробуй на чистую сделать, все должно работать.
Если у кого-то не вставляет в поле Dropdown то автор в коментах правильно указал проблему, правда решить ее можно еще легче просто использовав дефолтный Dropdown Заходим в создание UI->Legasy->Dropdown и оно работает так же как и было бы с решением автора только без дополнительной библиотеки
@@АйтиНуб это нормально сколько не делал мини проектов по твоим видосам все получалось и скоро хочу что то от 3 лица по твоим видосам и видосам курса сделать, но со своими дополнениями. Так что давай топи далее жду про рыцаря продолжение, а сайт заценю обязательно многим посоветовал его и сам беру от туда Активы. Так что новый обязателен к просмотру 😂🤷
Обожаю ваши видео смотреть!!! Вы очень хорошо объясняете и интересно смотреть ваши видео!!!!!!! Я очень сильно жду новые видео и надеюсь вы не забросите канал!!
Привет, столкнулся с такой проблемой: ResolutionDropdown работает только на одной сцене. Т.е у меня есть игра, с несколькими уровнями и меню, где есть настройки. И получается так, что Resolution работает только на сцене с главным меню, а на других сценах - просто показывает Option A, B, C. Как только не пытался решить эту проблему... Скрип прямиком с описания, функции самих настроек - не менял.
Ещё очень бы хотелось увидеть видео по смене управления (между правой и левой сторонами клавиатуры), а лучше вообще отдельный выбор своей кнопки для каждого действия
Подскажи, что делать? Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка CS0117 "QualitySettings" не содержит определение для "SetQualityLevel". Assembly-CSharp, Assembly-CSharp.Player
Не спрашивайте меня за устаревшие видео, они все делались на старых версиях редактора, в новых у них постоянно что-то меняется это первое, второе я не могу знать что у вас там в проекте, так что ничем , к сожалению помочь не могу. Если взять версию редактора на которой делалось это видео и сделать все внимательно по видео на чистую сцену, то все будет работать.
Здравствуйте спасибо вам за урок поможете мне с одной проблемой дело в том что у меня не появляется разрешение экрана а при попытке изменить разрешение появляется ошибка NullReferenceException: Object reference not set to an instance of an object переводил через переводчик и непонял там пишется что отсутствует ссылка на что то
Привет. Ссылка на объект отсутствует. Вы там поля массивы все заполнили? Понимаете, дело в том, что это старые видео, там более 2 года прошло и редактор уже не однократно обновлялся, если вы конечно не используете имменно эту версию редактора. Возможно они заменили названия которые в скрипте есть или таким способом уже не возможно сделать, не знаю, нужен проэкт так никто не скажет вслепую, к сожалению. Честно я даже понятия не имею, если все точно также сделано. Это юнити тут могут быть разные приколы, поэтому сказать сложно.
один вопрос для чего ты добавил кнопку сохранить если после переключения какой либо настройки все изменяется автоматически, кнопка сохранить является бесполезной
Вполне возможно, видео уже старое. К сожалению я уже не работаю с юнити давно, но вот вроде что-то похожее forum.unity.com/threads/refreshrate-obsolete-use-refreshrateratio-instead-setresolution-fourth-argument.1401985/ Вроде теперь заменили на это Resolution.refreshRateRatio Вот документация docs.unity3d.com/ScriptReference/Resolution-refreshRateRatio.html Вот тоже по экранам, может надо будет docs.unity3d.com/ScriptReference/Screen.SetResolution.html
Я поправил PlayerPrefs.SetInt("FullscreenToggle", System.Convert.ToInt32(FullscreenToggle.isOn)); (в методе SaveSettings) FullscreenToggle.isOn = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenToggle")); (в методе LoadSettings) На видео наверно всё тоже работает, просто у меня проект с настройками немного по другому сделан
@@M4nticore Возможно я где-то что-то могу забыть, пропустить, там уже можно самому поправить, если что. Здесь и суть в том, чтобы самому разобраться и понять, а не готовое скопировать, а кому надо готовое, то Unity Assets в помощь.
По поводу вашей проблемы здесь есть ответы: forum.unity.com/threads/missing-unityengine-ui.735755/ и здесь: stackoverflow.com/questions/60124065/unity-omnisharp-is-not-finding-referenced-projects-in-vscode/60763699#60763699 правда все на английском. Я бы порекомендовал накрайняк удалить Unity под ноль и поставить рекомендуемую LTS версию потом, и VisualStudio 2019.
Здравствуйте,спасибо,очень подробный урок.Но у меня почему-то выдает ошибку NullReferenceException: Object reference not set to an instance of an object Settings.Start () (at Assets/Scripts/Settings.cs:20) не подскажите как исправить?
Добрый Вечер, подскажите - у меня мах разрешение Экрана 1680 х 1050, когда запускаю игру , я там могу поставить максимально только своё разрешение, можно ли мне где то в коде или в самом юнити исправить, что бы я мог выбирать больше разрешение?
NullReferenceException: Object reference not set to an instance of an object Settings.LoadSettings (System.Int32 currentResolutionIndex) (at Assets/А СЦЕНИ/МЕНЮ/Settings.cs:93) Settings.Start () (at Assets/А СЦЕНИ/МЕНЮ/Settings.cs:35) ошибка
Привет! Спасибо за видео, очень помогло) Только возник один вопрос: У меня при открытии dropdown появляется элемент blocker в canvas. Когда dropdown сворачиваю, blocker пропадает, но все кнопки на окне остаются закрыты этим элементом. Как это можно исправить?
Не знаю какой еще блокер? У меня нет никакого блокера, где он появляется? Лучше всего, если хотите чтобы я помог давайте проект сразу скидывайте, а то я наугад не могу сказать.
Привет помоги, NullReferenceException: Object reference not set to an instance of an object Settings.LoadSettings (System.Int32 currentResolutionIndex) (at Assets/Scripts/Game Settings.cs:99) Settings.Start () (at Assets/Scripts/Game Settings.cs:36) настройки нужно делать как отдельная сцена?
Добрый день! У меня возникла проблема: я сделал всё так, как показано на видео, запустил игру, и когда я захотел выбрать качество и разрешение экрана в Dropdown resolution и quality (в строках выбора) нет названий качества и разрешения, только функционал 😕 Что делать?
Нет, не с сайта, я с видео списывал 😅 Попробовал протестировать уже в самом билде - теперь названия есть, но очень маленькие, и когда выбираю любую из них - размер нормальный 😐 А ещё, заметил странную вещь: вошёл в билд в первый раз - цвета в игре нормальные, вошёл во второй - все цвета приобрели сине-зелёный оттенок и всё стало разноцветным 😕 Не сталкивались с такой проблемой?
@@worldbrix По цветам не знаю, а вот по поводу размеров, то в инспекторе все должно регулироваться, размеры канваса, кнопок, дропбоксов, текстовых полей. Внимательно на каждый смотри и какие у него опции в инспекторе. Якоря на эелементы не забывай, чтобы при смене разрешения экрана они не плавали. Тут нужно аккуратно действовать, на все эти мелочи надо обращать внимание. Игрострой на мой взгляд самое сложное в айти.
скрипт отличный но, при выключенном "полноэкранный режим", и после пере захода игры или перезагрузки сцены, то "полноэкранный режим" становится включенным но игра в оконном режиме. как это исправить?
Вы поймите что это не готовый ассет, его в таком виде использовать нельзя в разработке, вы должны сами доработать остальное, все что вам нужно, эти видео для того, чтобы дать толчок к дальнейшим действиям, для обучения. Если делать ассет, то это не на 15 минут видео, а как минимум на несколько часов урок будет. Если вам надо быстро и не надо учиться просто берите готовый ассет и все.
Здравствуйте! А можете, пожалуйста, снять туториал как сделать управление машиной рулём, кнопками, газом, тормозом для мобильных устройств? Я имею в виду сенсорное управление.
Can't add script component 'Setting' because the script class cannot be found. Make sure that there are no compile errors and that the file name and class name match. Что делать?
@@ninzhaninzha5802 Зайди на сайт там есть контакты там можно выслать файл вышли мне свой скрипт, ну или сюда скопируй. У тебя совпадение скорее всего имени файла с именем класса, оба называются settings, измени одно из них например на options.
Подскажите, у меня при нажатии на выбор разрешения вместо текста с разрешением везде написано "option a". Все остальное работает замечательно, если нажать на одну из этих многочисленных "option a" в строке выше выводится нормальный текст. Как пофиксить? Использую TMP Dropdown
Точно не помню, но там по моему в инспекторе надо поменять, смотри там. Короче где то они по умолчанию стоят их надо то ли заменить, то ли убрать вообще. Если бы проект посмотреть твой, то сразу бы сказал, сходу не помню, но оно где то есть, поищи. Скрипт из описания брал? Все в точности как у меня на видео? Я могу сделать, но мне нужен твой проект, можешь скинуть, если хочешь.
@@holadushek5253Зачем связываться. Возьмешь папку со своим проектом заархивируешь(обязательно) и выложишь на любой гугл диск или яндекс и откроешь доступ. Я скачаю, напишу тебе и ты удалишь ее потом.
@@АйтиНуб drive.google.com/file/d/11kY8Z-DrCBgz7dg1fu-o5cskevYVLjVg/view?usp=share_link сцена "SettingsMenu", мне нужно, чтобы вместо Option A выводилось разрешение и надо убрать совсем уж маленькие разрешения, ибо они не нужны. И можно ли как-то стиль этого всплывающего списка изменить, чтобы выглядело более органично?
@@holadushek5253 С разрешением разберусь позже. А на счет стилей все меняется так же как и менялось. В иерархии у тебя соответственно ResolutionDropdown ты менял настройки самого Dropdown, Label и Arrow, но не менял остальные. Открывай Template там иди по дочерним элементам и увидишь Item Label это например меню с опциями в середине, также меняешь размер поля и текста. Также есть Item Background можно менять цвет фона. Полностью все скрытые элементы, включая ползунки, слайдер и все что есть. Меняй как хочешь, в чем проблема? А нвсчет изменения надписей, позже скажу.
Assets\script\xx.cs(10,36): error CS1002: ; expected Assets\script\xx.cs(9,39): error CS1002: ; expected подскажите пожалуйста что делать,делал все как на видео)
Ребят, а как сохранять изменения в настройках, если ты при изменении графики выключаешь или включаешь камеру с наслойкой post processing? При нажатии на кнопку High graphics у меня включается камера с post процессингом, а при нажатии на кнопку Low graphics - выключается камера с пост-процессингом
По PlayerPrefs здесь docs.unity3d.com/ScriptReference/PlayerPrefs.html Смотрите документацию юнити там все есть, все методы, что для чего, что не понятно сразу забили Unity playerprefs например и все.
error CS0103: The name 'LoadSettings' does not exist in the current context error CS0266: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) error CS1061: 'Dropdown' does not contain a definition for 'ReFreshShownValue' and no accessible extension method 'ReFreshShownValue' accepting a first argument of type 'Dropdown' could be found (are you missing a using directive or an assembly reference?) error CS0103: The name 'LoadSettings' does not exist in the current context Вот такие ошибки после написания скрипта, так же пробовалось и с теми же UI компонентами что и на видео.
Скрипт в описании есть, скачайте и сделайте так как в видео, только у вас стоят Text mesh pro элементы ( раньше в юнити этого не было по умолчанию, поэтому у меня по другому), надо будет поменять в скрипте названия переменных, в верхнем прикрепленном моем комментарии описано, как это сделать.
У меня было видео, но я удалил его, там почти без комментирования кода, вот можно скачать drive.google.com/file/d/1vmJYY48_QMb-YzvRaW42mujgRKLbbz7j/view?usp=share_link
Ничего страшного просто метод в видео я назвал ExitSettings, а в скрипте в описании ExitGame , уже исправил. Можно свои названия давать, чтобы вам было понятно, не обязательно повторять за мной.
@@АйтиНуб Я делал там кусочки скрипта удалял но нечего не работает графика не меняется хотя она сохраняется, незнаю может проблема в графике которую я использую но не думаю
@@BandanaGang999Дело в том, что это видео делалось на старом редакторе, там в новых редакторах возможно есть каие-то изминения, поэтому так сказать сложно, что надо делать тебе. К сожалению я ничем не могу помочь Это надо самому делать сначала все, а у меня нет на это времени, я уже не занимаюсь этим.
@@АйтиНуб Знаю. Просто тама панель настроек не состоит в канвасе. А в этом ролике вы сделали панель управления внутри канваса. Это никак не повлияет на переход?
@@МКХамелеон Оно все в канвасе, без канваса работать на будет, все UI элементы должны быть в канвасе, при добавлении UI элемента канвас автоматически ставится. Просто там может быть еще какая то вложеность в панель или другой элемент, но Канвас всегда родительский будет, так что ничего не поменяется.
Здравствуйте, видео классное и познавательное, но у меня какая-то ошибка на 23 или 29 строке скрипта, не могу найти отличий между вашим и своим скриптом😕
@@АйтиНуб смотрите у меня ui есть в слоях я не понимаю куда кинуть ивент я эго создаю и начинает работать только exit save full screen но работают в плане они нажимаются но нажимаю на выход не работает и та штука где графика не развёртивается и где разрешение экрана
Потому что у тебя вместо resolutionDropdown и qualityDropdown , TextMeshPro Dropdown. Для начала нужно добавить пространство имен using TMPro и потом поменять поля на TMP_Dropdown помоему как -то так, попробуй.
@@АйтиНуб Так просто в этом видео ты посоветовал с кнопками звука ссылаться на старое видео. Меня в принципе в том меню все абсолютно устраивает, просто не могу грамотно сделать сохранение настроек. Я делаю игру на телефоны, а в этом видео настройки скорее для ПК версии.
Со звуком там отдельное все правильно. Я вот всем советую, просто мои уроки для новичков совсем как бы показать что и как работает, если ты делаешь игру, чтобы в продакш запустить, то лучше всегда пользоваться уже готовыми эссетами, где уже все написано, и не изобретать велосипед. У меня на сайте можно найти бесплатно нужные ессеты. Например по меню unitydev.top/index.php?view=fileitem&id=191 или unitydev.top/index.php?view=fileitem&id=192 по сейвам тоже полно есть.
@@АйтиНуб Да, понимаю, но игра, которую я делаю, это одновременно и способ обучения разработки, т.к. через курсы слишком нудно и зачастую не понятно. Я стараюсь связывать различные механики и создовать самостоятельные подобные. Обычно я анализирую код, и просто перестраиваю его под свои нужды. Однако между этим видео и прошлым оказалась ощутимая разница и мои навыки не позволили перестроить систему сохранения под себя.
Добрый день, возникла проблема NullReferenceException: Object reference not set to an instance of an object OptionMenu.Start () (at Assets/Scripts/OptionMenu.cs:18) Вот код: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Audio; using UnityEngine.UI; using UnityEngine.SceneManagement; public class OptionMenu : MonoBehaviour { public AudioMixer audioMixer; public Dropdown resolutionDropdown; public Dropdown qualityDropdown; Resolution[] resolutions; void Start() { resolutionDropdown.ClearOptions(); List options = new List(); resolutions = Screen.resolutions; int currentResolutionIndex = 0; for (int i = 0; i
Привет. Ну я на первый взгляд увидел поле слайдера громкости, чем ты громкость регулируешь? Понимаешь, это мне придется создавать новую сцену, чтобы все это проверять, я уже просто юнити закинул и у меня на это нет времени, если ты не очень разбираешься в коде, то лучше возьми и тебе просто нужен результат, возьми готовый ассет и не мучайся. Или же просто сделай как здесь. Если конечно хочешь можешь выслать свой проект, я если будет время посмотрю в чем ошибка.
Привет АйтиНуб! Можешь пожалуйста сказать, почему когда я в Иерархии ResolutionDropdown перекидываю в скрипт, он не перекидывается? Пожалуйста ответьте. Мне это очень важно
@@АйтиНуб Я не могу перекинуть объект ResolutionDropdown В Settnigs :( Если надо , то я могу скинуть проект. Просто я не очень силён в юнити. Очень надеюсь на ваш ответ.
@@АйтиНуб Ок, вот, там есть unitypackage и просто файл. Как вам удобнее. Потом просто или скажите ошибку или дайте уже исправленный вариант. Вот ссылка: drive.google.com/file/d/1ULKVX4-XDAWCkTCz8VIXH3rWZ0VYeKuF/view?usp=sharing очень надеюсь на ваш ответ
Так без проекта я не увижу. Если хочешь скинь свой проект на облако и дай ссылку я посмотрю. Ну и на крайней случай снеси Unity и поставь новую версию с нужными модулями.
Сейчас другой сервис рекламы поставил, попробуйте. Вынужден ставить сервис рекламы, чтобы хоть какая то копейка шла. Вы какой браузер используете? У меня Firefox там автоматом все блокирует.
@@АйтиНуб Добрый вечер! Используем Хром, сейчас всё нормально работает!Конечно монетизировать нужно, что-бы хоть как-то оправдывать свой труд и не терять интерес. Спасибо!
Спасибо. Когда нибудь сделаю. А пока рекомендую для управления на андроид попробывать вот такой готовый эссет: unitydev.top/index.php?view=fileitem&id=11
@@АйтиНуб Можешь помочь? в своем проекте я использую бесплатный 3д ассет на движение от 3 лица с камерой. При билде игры я ее хапускаю и когда кручу камерой у меня курсор появляется.
Здравствуйте, что делать если не открывается окно qualitydropdown и resolutiondropdown просто нет настроек графики и разрешения что делать? все введено правильно помогите пожалуйста
@@foltiks6173 Я соц сетями не пользуюсь. Да и там такой большой архив разве можно передать. Ты просто закинь я скачаю, дай только мне ссылку (больше ни кому не давай, а ссылку скинь на почту мне, на сайте есть в меню контакты, там можно написать письмо), я скачаю напишу, что скачал и ты удалишь его сразу из гугл диска, вот и все. Я просто не могу без проекта наугад сказать, если код верный, то проблема где-то в пооекте.
@@АйтиНуб Спасибо огромное за ответ!!!!Если честно мне очень стыдно вымаливать в комментариях ответ,но по другому навряд ли ответили бы.Если честно я чуствую себя идиотом,потому что я скачал юнити вчера и там не было важных проектов,я мог спокойно скачать другую версию. Удивительно,как я за час просто тыкая кнопками смог испоганить эту версию юнити.
@@BlackStarInteractive Ты можеш скрипт создать сразу в инспекторе на том объекте на котором хочеш. Выбираеш например в иерархии объект Canvas, идеш в инспектор и жмешь Add Component и пишешь в поиске New Script, называешь его и вперед.
Почитай прикрепленный комментарий. Раньше не было Text mesh pro по умолчанию, поэтому в скрипте его нет. Сейчас его нужно добавлять и менять названия полей.
помогите пожалуйста у меня ошибка NullReferenceException: Object reference not set to an instance of an object settings.LoadSettings (System.Int32 currentResolutionIndex) (at Assets/scripts/settings.cs:101) settings.Start () (at Assets/scripts/settings.cs:38) никак не могу исправить вот код using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using UnityEngine.Audio; using TMPro; public class settings : MonoBehaviour { public AudioMixer audioMixer; public TMP_Dropdown resolutionDropdown; public TMP_Dropdown qualityDropdown; public Slider volumeSlider; float currentVolume; Resolution[] resolutions;
void Start() {
resolutionDropdown.ClearOptions(); List options = new List(); resolutions = Screen.resolutions; int currentResolutionIndex = 0; for (int i = 0; i < resolutions.Length; i++) { string option = resolutions[i].width + "x" + resolutions[i].height + " " + resolutions[i].refreshRate + "Hz"; options.Add(option); if (resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height) currentResolutionIndex = i; } resolutionDropdown.AddOptions(options); resolutionDropdown.RefreshShownValue(); LoadSettings(currentResolutionIndex); } public void SetVolume(float volume) { audioMixer.SetFloat("Volume", volume); currentVolume = volume; } public void SetFullscreen(bool isFullscreen) { Screen.fullScreen = isFullscreen; } public void SetResolution(int resolutionIndex) { Resolution resolution = resolutions[resolutionIndex]; Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen); }
public void SetQuality(int qualityIndex) {
QualitySettings.SetQualityLevel(qualityIndex);
} public void ExitGame() { SceneManager.LoadScene("Level"); } public void SaveSettings() { PlayerPrefs.SetInt("QualitySettingPreference", qualityDropdown.value); PlayerPrefs.SetInt("ResolutionPreference", resolutionDropdown.value); PlayerPrefs.SetInt("FullscreenPreference", System.Convert.ToInt32(Screen.fullScreen)); PlayerPrefs.SetFloat("VolumePreference", currentVolume); } public void LoadSettings(int currentResolutionIndex) { if (PlayerPrefs.HasKey("QualitySettingPreference")) qualityDropdown.value = PlayerPrefs.GetInt("QualitySettingPreference"); else qualityDropdown.value = 3; if (PlayerPrefs.HasKey("ResolutionPreference")) resolutionDropdown.value = PlayerPrefs.GetInt("ResolutionPreference"); else resolutionDropdown.value = currentResolutionIndex; if (PlayerPrefs.HasKey("FullscreenPreference")) Screen.fullScreen = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenPreference")); else Screen.fullScreen = true; if (PlayerPrefs.HasKey("VolumePreference")) volumeSlider.value = PlayerPrefs.GetFloat("VolumePreference"); else volumeSlider.value = PlayerPrefs.GetFloat("VolumePreference"); } }
Скрипт мне не о чем не говорит, нужен весь проект, скрипт у меня есть. Код скачан по ссылке в описании? Если да то проверьте совпадают ли названия переменных в коде и в объектах, многие скачивают код, а названия объектов свои дают, вот и не совпадают.Также смотрите закрепленный комментарий, если проблема с ui элементами. Видео старое, раньше по умолчанию были дефолтные элементы, сейчас надо менять в скрипте на TextMeshPro элементы, если конечно у вас не старая версия редактора. Если вы все внимательно сделали по видео, с нулевого проекта, а не когда у вас куча скриптов стоит, ассетов и прочего, которое может конфликтовать, то все будет работать.
Очень полезный канал , спасибо вам. Мог бы мне кто нибудь помочь , а то я не могу в скрипт вставить эти два DropDawn , если что вот скрипт using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Settings : MonoBehaviour { public Dropdown ResolutionDropdown; public Dropdown QualityDropdown; Resolution[] resolutions; void Start() { ResolutionDropdown.ClearOptions(); List options = new List(); resolutions = Screen.resolutions; int currentResolutionIndex = 0; for (int i = 0; i < resolutions.Length; i++) { string option = resolutions[i].width + "x" + resolutions[i].height + " " + resolutions[i].refreshRate + "Hz"; options.Add(option); if (resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height) currentResolutionIndex = i; } ResolutionDropdown.AddOptions(options); ResolutionDropdown.RefreshShownValue(); LoadSettings(currentResolutionIndex); } public void SetFullscreen(bool isFullscreen) { Screen.fullScreen = isFullscreen; } public void SetResolution(int ResolutionIndex) { Resolution resolution = resolutions[ResolutionIndex]; Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen); } public void SetQuality(int qualityIndex) { QualitySettings.SetQualityLevel(qualityIndex); } public void SaveSettings() { PlayerPrefs.SetInt("QualitySettingsPreference", QualityDropdown.value); PlayerPrefs.SetInt("ResolutionPreference", ResolutionDropdown.value); PlayerPrefs.SetInt("FullScreenPreference", System.Convert.ToInt32(Screen.fullScreen)); } public void LoadSettings(int currentResolutionIndex) { if (PlayerPrefs.HasKey("QualitySettingsPreference")) QualityDropdown.value = PlayerPrefs.GetInt("QualitySettingsPreference"); else QualityDropdown.value = 3; if (PlayerPrefs.HasKey("ResolutionPreference")) ResolutionDropdown.value = PlayerPrefs.GetInt("ResolutionPreference"); else ResolutionDropdown.value = currentResolutionIndex; if (PlayerPrefs.HasKey("FullScreenPreference")) Screen.fullScreen = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullScreenPreference")); else Screen.fullScreen = true; } }
Все разобрался. Только что человек с такой же проблемой был. . У тебя там скорее всего не dropdown, а textMeshPro dropdown, это разные вещи. Добавь в скрипт пространство имен в верху using TMPro; и в переменных вместо Dropdown, напиши TMP_Dropdown и будет тебе счастье.
У кого не вставляется Dropdown в поле скрипта. То у вас скорее всего TextMeshPro dropdown. Для того, чтобы все заработало просто добавьте в скрипт пространство имен using TMPro и в переменных вместо Dropdown напишите TMP_Dropdown и все!
привет!! да у меня TextMeshPro можешь помочь я не разбираюсь можешь скинуть скрипт для text mesh pro пожалуйста
@@чара-ч2б Привет. Вот так попробуй:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class Settings : MonoBehaviour
{
public AudioMixer audioMixer;
public TMP_Dropdown resolutionDropdown;
public TMP_Dropdown qualityDropdown;
public Slider volumeSlider;
float currentVolume;
Resolution[] resolutions;
void Start()
{
resolutionDropdown.ClearOptions();
List options = new List();
resolutions = Screen.resolutions;
int currentResolutionIndex = 0;
for (int i = 0; i < resolutions.Length; i++)
{
string option = resolutions[i].width + "x" + resolutions[i].height + " " + resolutions[i].refreshRate + "Hz";
options.Add(option);
if (resolutions[i].width == Screen.currentResolution.width
&& resolutions[i].height == Screen.currentResolution.height)
currentResolutionIndex = i;
}
resolutionDropdown.AddOptions(options);
resolutionDropdown.RefreshShownValue();
LoadSettings(currentResolutionIndex);
}
public void SetVolume(float volume)
{
audioMixer.SetFloat("Volume", volume);
currentVolume = volume;
}
public void SetFullscreen(bool isFullscreen)
{
Screen.fullScreen = isFullscreen;
}
public void SetResolution(int resolutionIndex)
{
Resolution resolution = resolutions[resolutionIndex];
Screen.SetResolution(resolution.width,
resolution.height, Screen.fullScreen);
}
public void SetQuality(int qualityIndex)
{
QualitySettings.SetQualityLevel(qualityIndex);
}
public void ExitGame()
{
SceneManager.LoadScene("Level");
}
public void SaveSettings()
{
PlayerPrefs.SetInt("QualitySettingPreference",
qualityDropdown.value);
PlayerPrefs.SetInt("ResolutionPreference",
resolutionDropdown.value);
PlayerPrefs.SetInt("FullscreenPreference",
System.Convert.ToInt32(Screen.fullScreen));
PlayerPrefs.SetFloat("VolumePreference",
currentVolume);
}
public void LoadSettings(int currentResolutionIndex)
{
if (PlayerPrefs.HasKey("QualitySettingPreference"))
qualityDropdown.value =
PlayerPrefs.GetInt("QualitySettingPreference");
else
qualityDropdown.value = 3;
if (PlayerPrefs.HasKey("ResolutionPreference"))
resolutionDropdown.value =
PlayerPrefs.GetInt("ResolutionPreference");
else
resolutionDropdown.value = currentResolutionIndex;
if (PlayerPrefs.HasKey("FullscreenPreference"))
Screen.fullScreen =
System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenPreference"));
else
Screen.fullScreen = true;
if (PlayerPrefs.HasKey("VolumePreference"))
volumeSlider.value =
PlayerPrefs.GetFloat("VolumePreference");
else
volumeSlider.value =
PlayerPrefs.GetFloat("VolumePreference");
}
}
Спасибо! Как раз спустился в комментарии чтобы задать этот вопрос, а тут уже ответ есть
@@АйтиНуб У меня возникла проблема у меня либо кнопка сейва не работает либо разрешение экрана не меняется. версия unity 2021.3.18f1 Пожалуйста помоги
@@darklordkreep1636 Надо смотреть в самом проекте, здесь показано на чистую сцену, может быть конфликты какие то со скриптами, где то что то пропустил, чек поинт какой то не отметил или наоборот, смотреть надо, как я помогу. Попробуй на чистую сделать, все должно работать.
Спасибо большое! Я только новичек в создании игр , а ты так подробно все рассказываешь сразу все понятно.
Если у кого-то не вставляет в поле Dropdown то автор в коментах правильно указал проблему, правда решить ее можно еще легче просто использовав дефолтный Dropdown
Заходим в создание UI->Legasy->Dropdown и оно работает так же как и было бы с решением автора только без дополнительной библиотеки
Здравствуйте. Благодарю за ваши гайды благодаря ним я почти сделал свою первую игру на Unity.
Приятно слышать. Удачи!
@@АйтиНуб Спасибо вам также!
Спасибо огромное, полезный гайд без воды!
Потрясающее, подробное видео. Спасибо за старания!
Отличный видос и инфа сейчас скину в чат нашего курса думаю людям пригодится удачи 🤝
Спасибо. Сначала лучше глянь все ли у меня правильно, а то вдруг какие косяки есть)
@@АйтиНуб это нормально сколько не делал мини проектов по твоим видосам все получалось и скоро хочу что то от 3 лица по твоим видосам и видосам курса сделать, но со своими дополнениями. Так что давай топи далее жду про рыцаря продолжение, а сайт заценю обязательно многим посоветовал его и сам беру от туда Активы.
Так что новый обязателен к просмотру 😂🤷
@@oldborodach Хорошо буду топить.)
Обожаю ваши видео смотреть!!! Вы очень хорошо объясняете и интересно смотреть ваши видео!!!!!!! Я очень сильно жду новые видео и надеюсь вы не забросите канал!!
Спасибо. Мало просмотров совсем сейчас, к сожалению, если и буду снимать то только когда свободное время будет.
очень полезный канал, помогает осваиваться в движке
Спасибо!
Замечательный канал! Очень много полезных роликов по Unity. Спасибо что вы есть!
Спасибо! Рад, что смотрите.
Респект, однозначный респект! Большое спасибо!
Привет, столкнулся с такой проблемой: ResolutionDropdown работает только на одной сцене. Т.е у меня есть игра, с несколькими уровнями и меню, где есть настройки. И получается так, что Resolution работает только на сцене с главным меню, а на других сценах - просто показывает Option A, B, C. Как только не пытался решить эту проблему... Скрип прямиком с описания, функции самих настроек - не менял.
Решил проблему, видимо скрипт плохо функционирует с префабами, у кого есть такая проблема, вешайте скрипт на пустой объект, а не на префаб.
а у меня ResolutionDropdown и QualityDropdown не вешаются к Скрипту, что делать не знаю.
Огромное спасибо, наконец-то сделал настройки в своей игре
Ещё очень бы хотелось увидеть видео по смене управления (между правой и левой сторонами клавиатуры), а лучше вообще отдельный выбор своей кнопки для каждого действия
просто и доходчиво , автору огромное спасибо ...
А можете скинуть ссылку на сам скрипт?
Спасибо за урок!)
Ссылку на скрипт добавил в описание.
Спасибо!
Можешь дать ссылочку на видео с регулировкой музыки? В описании нету вроде..
Если громкость то здесь видео скачать можно: drive.google.com/file/d/1vmJYY48_QMb-YzvRaW42mujgRKLbbz7j/view?usp=sharing
@@АйтиНуб спасибо тебе большое
Подскажи, что делать?
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка CS0117 "QualitySettings" не содержит определение для "SetQualityLevel". Assembly-CSharp, Assembly-CSharp.Player
Не спрашивайте меня за устаревшие видео, они все делались на старых версиях редактора, в новых у них постоянно что-то меняется это первое, второе я не могу знать что у вас там в проекте, так что ничем , к сожалению помочь не могу. Если взять версию редактора на которой делалось это видео и сделать все внимательно по видео на чистую сцену, то все будет работать.
Здравствуйте спасибо вам за урок поможете мне с одной проблемой дело в том что у меня не появляется разрешение экрана а при попытке изменить разрешение появляется ошибка NullReferenceException: Object reference not set to an instance of an object переводил через переводчик и непонял там пишется что отсутствует ссылка на что то
Привет. Ссылка на объект отсутствует. Вы там поля массивы все заполнили? Понимаете, дело в том, что это старые видео, там более 2 года прошло и редактор уже не однократно обновлялся, если вы конечно не используете имменно эту версию редактора. Возможно они заменили названия которые в скрипте есть или таким способом уже не возможно сделать, не знаю, нужен проэкт так никто не скажет вслепую, к сожалению. Честно я даже понятия не имею, если все точно также сделано. Это юнити тут могут быть разные приколы, поэтому сказать сложно.
один вопрос
для чего ты добавил кнопку сохранить если после переключения какой либо настройки все изменяется автоматически, кнопка сохранить является бесполезной
В смысле бесполезной!? Все настройки прекрасно сохраняются, если ты про редактор, то да, они работают только в уже собранной игре, что естественно.
Друже! Я рад, что нашёл тебя!) (Лайк и подписка)
Спасибо!
А у меня написано что resolutions[i]. RefreshRate что оно является устаревшим помогите пожалуйста прошу
Вполне возможно, видео уже старое. К сожалению я уже не работаю с юнити давно, но вот вроде что-то похожее forum.unity.com/threads/refreshrate-obsolete-use-refreshrateratio-instead-setresolution-fourth-argument.1401985/ Вроде теперь заменили на это Resolution.refreshRateRatio Вот документация docs.unity3d.com/ScriptReference/Resolution-refreshRateRatio.html Вот тоже по экранам, может надо будет docs.unity3d.com/ScriptReference/Screen.SetResolution.html
@@АйтиНуб спасибо тебе огромное
Если убрать галочку с полноэкранного режима и запустить основную сцену, зайти снова в настройки то галочка будет активна, хотя её сняли до этого
Я поправил
PlayerPrefs.SetInt("FullscreenToggle", System.Convert.ToInt32(FullscreenToggle.isOn)); (в методе SaveSettings)
FullscreenToggle.isOn = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenToggle")); (в методе LoadSettings)
На видео наверно всё тоже работает, просто у меня проект с настройками немного по другому сделан
@@M4nticore Возможно я где-то что-то могу забыть, пропустить, там уже можно самому поправить, если что. Здесь и суть в том, чтобы самому разобраться и понять, а не готовое скопировать, а кому надо готовое, то Unity Assets в помощь.
Дякую і за відеоурок, і за правильно вимовлені англійські терміни!
ряльно помог, большое спасибо
А ты когда ResolutionDropdown пишешь, нам тоже самое писать?
Спасибо вам большое за урок!
Что делать, если не находит пространство имен UnityEngine.UI? Есть только UnityEngine.UIElements.
какая версия Unity и VisualStudio у вас?
По поводу вашей проблемы здесь есть ответы: forum.unity.com/threads/missing-unityengine-ui.735755/
и здесь: stackoverflow.com/questions/60124065/unity-omnisharp-is-not-finding-referenced-projects-in-vscode/60763699#60763699
правда все на английском.
Я бы порекомендовал накрайняк удалить Unity под ноль и поставить рекомендуемую LTS версию потом, и VisualStudio 2019.
@@АйтиНуб Спасибо, помогло. Версия Unity 2020.3.30f1
@@adsyde Не за что.
Лайк за старание, спасибо что помогаете и доступно объясняете
И Вам спасибо, что смотрите.
Здравствуйте,спасибо,очень подробный урок.Но у меня почему-то выдает ошибку NullReferenceException: Object reference not set to an instance of an object
Settings.Start () (at Assets/Scripts/Settings.cs:20)
не подскажите как исправить?
Привет. Скрипт в описании брал? Если элементы у тебя TextMeshPro исправил в скрипте ( смотреть верхний закрепленный комментарий)?
Добрый Вечер, подскажите - у меня мах разрешение Экрана 1680 х 1050, когда запускаю игру , я там могу поставить максимально только своё разрешение, можно ли мне где то в коде или в самом юнити исправить, что бы я мог выбирать больше разрешение?
Честно скажу не знаю. Поищите ответ в интернете, рекомендую загуглить на английском, шанс найти ответы повысится.
Давно небыло видео. Хотелось бы увидеть как небудь создание инвентаря с предметами.
Насчет инвентаря я запомню Видео готовятся, к сожалению не так много свободного времени.
@@АйтиНуб Спасибо!
Build completed with a result of 'Failed' in 2 seconds (1682 ms) что это?
NullReferenceException: Object reference not set to an instance of an object
Settings.LoadSettings (System.Int32 currentResolutionIndex) (at Assets/А СЦЕНИ/МЕНЮ/Settings.cs:93)
Settings.Start () (at Assets/А СЦЕНИ/МЕНЮ/Settings.cs:35) ошибка
Код по ссылке в описании скачан? И еще названия папок и директорий должны быть на английском языке.
@@АйтиНуб 5сек
@@АйтиНуб це не языке
Привет!
Спасибо за видео, очень помогло)
Только возник один вопрос: У меня при открытии dropdown появляется элемент blocker в canvas. Когда dropdown сворачиваю, blocker пропадает, но все кнопки на окне остаются закрыты этим элементом. Как это можно исправить?
Не знаю какой еще блокер? У меня нет никакого блокера, где он появляется? Лучше всего, если хотите чтобы я помог давайте проект сразу скидывайте, а то я наугад не могу сказать.
спасибо, очень сильно помог с моей первой игрой
Привет помоги, NullReferenceException: Object reference not set to an instance of an object
Settings.LoadSettings (System.Int32 currentResolutionIndex) (at Assets/Scripts/Game Settings.cs:99)
Settings.Start () (at Assets/Scripts/Game Settings.cs:36) настройки нужно делать как отдельная сцена?
Привет, отдельная сцена с меню. По поводу ошибок ты все скрипты куда надо вставил, имена переменных в скриптах и в проекте совпадают?
@@АйтиНуб привет , спасибо но я уже решил проблему :)
@@Skibidi-Collider у меня та же проблема, можешь подсказать как ты сделал ?
Добрый день! У меня возникла проблема: я сделал всё так, как показано на видео, запустил игру, и когда я захотел выбрать качество и разрешение экрана в Dropdown resolution и quality (в строках выбора) нет названий качества и разрешения, только функционал 😕 Что делать?
Привет. А что там просто пустые поля? Посмотри в инспекторе все правильно по вставлял? Скрипт правильный, с сайта брал?
Нет, не с сайта, я с видео списывал 😅 Попробовал протестировать уже в самом билде - теперь названия есть, но очень маленькие, и когда выбираю любую из них - размер нормальный 😐 А ещё, заметил странную вещь: вошёл в билд в первый раз - цвета в игре нормальные, вошёл во второй - все цвета приобрели сине-зелёный оттенок и всё стало разноцветным 😕 Не сталкивались с такой проблемой?
@@worldbrix По цветам не знаю, а вот по поводу размеров, то в инспекторе все должно регулироваться, размеры канваса, кнопок, дропбоксов, текстовых полей. Внимательно на каждый смотри и какие у него опции в инспекторе. Якоря на эелементы не забывай, чтобы при смене разрешения экрана они не плавали. Тут нужно аккуратно действовать, на все эти мелочи надо обращать внимание. Игрострой на мой взгляд самое сложное в айти.
Спасибо за совет, постараюсь исправить 👍🏻
Здравствуйте! А вы не можете мне подсказать как сделать настройку чувствительности с помощью slider'a
Здравствуйте. Разве что вот это видео, здесь слайдер громкости делается, может поможет:
th-cam.com/video/g3Y6aHUPhWs/w-d-xo.html
@@АйтиНуб Спасибо! Помогло
скрипт отличный но, при выключенном "полноэкранный режим", и после пере захода игры или перезагрузки сцены, то "полноэкранный режим" становится включенным но игра в оконном режиме.
как это исправить?
Вы поймите что это не готовый ассет, его в таком виде использовать нельзя в разработке, вы должны сами доработать остальное, все что вам нужно, эти видео для того, чтобы дать толчок к дальнейшим действиям, для обучения. Если делать ассет, то это не на 15 минут видео, а как минимум на несколько часов урок будет. Если вам надо быстро и не надо учиться просто берите готовый ассет и все.
@@АйтиНуб я просто не шарю, как работает система сохранения, а так настройки графики отличное для начало
Здравствуйте! А можете, пожалуйста, снять туториал как сделать управление машиной рулём, кнопками, газом, тормозом для мобильных устройств? Я имею в виду сенсорное управление.
Обещать не буду но запомню просьбу, но точно не в ближайшее время.
Спасибо, что учли мою просьбу :)
Can't add script component 'Setting' because the
script class cannot be found. Make sure that there
are no compile errors and that the file name and
class name match.
Что делать?
Скрипт с сайта брали?
@@АйтиНуб да
@@ninzhaninzha5802 Зайди на сайт там есть контакты там можно выслать файл вышли мне свой скрипт, ну или сюда скопируй. У тебя совпадение скорее всего имени файла с именем класса, оба называются settings, измени одно из них например на options.
@@АйтиНуб Спасибо сейчас попробую
Подскажите, у меня при нажатии на выбор разрешения вместо текста с разрешением везде написано "option a". Все остальное работает замечательно, если нажать на одну из этих многочисленных "option a" в строке выше выводится нормальный текст. Как пофиксить? Использую TMP Dropdown
Точно не помню, но там по моему в инспекторе надо поменять, смотри там. Короче где то они по умолчанию стоят их надо то ли заменить, то ли убрать вообще. Если бы проект посмотреть твой, то сразу бы сказал, сходу не помню, но оно где то есть, поищи. Скрипт из описания брал? Все в точности как у меня на видео? Я могу сделать, но мне нужен твой проект, можешь скинуть, если хочешь.
@@АйтиНуб спасибо! Попробую сначала своими силами сделать так, как вы написали, если не получится, то где с вами можно связаться?
@@holadushek5253Зачем связываться. Возьмешь папку со своим проектом заархивируешь(обязательно) и выложишь на любой гугл диск или яндекс и откроешь доступ. Я скачаю, напишу тебе и ты удалишь ее потом.
@@АйтиНуб drive.google.com/file/d/11kY8Z-DrCBgz7dg1fu-o5cskevYVLjVg/view?usp=share_link сцена "SettingsMenu", мне нужно, чтобы вместо Option A выводилось разрешение и надо убрать совсем уж маленькие разрешения, ибо они не нужны. И можно ли как-то стиль этого всплывающего списка изменить, чтобы выглядело более органично?
@@holadushek5253 С разрешением разберусь позже. А на счет стилей все меняется так же как и менялось. В иерархии у тебя соответственно ResolutionDropdown ты менял настройки самого Dropdown, Label и Arrow, но не менял остальные. Открывай Template там иди по дочерним элементам и увидишь Item Label это например меню с опциями в середине, также меняешь размер поля и текста. Также есть Item Background можно менять цвет фона. Полностью все скрытые элементы, включая ползунки, слайдер и все что есть. Меняй как хочешь, в чем проблема? А нвсчет изменения надписей, позже скажу.
Assets\script\xx.cs(10,36): error CS1002: ; expected
Assets\script\xx.cs(9,39): error CS1002: ; expected
подскажите пожалуйста что делать,делал все как на видео)
Написано ожидается скрипт xx.cs, что это за скрипт? Скрипт скачан по ссылке в описании?
Чувак, очень круто! А уроки на сайте бесплатные?)
Спасибо. Это те же видео с ютуба.
Ребят, а как сохранять изменения в настройках, если ты при изменении графики выключаешь или включаешь камеру с наслойкой post processing? При нажатии на кнопку High graphics у меня включается камера с post процессингом, а при нажатии на кнопку Low graphics - выключается камера с пост-процессингом
А можете подсказать, я не уловил на что мы вешаем скрипт LoadSettings и я не до конца понял что такое PlayerPrefs
По PlayerPrefs здесь docs.unity3d.com/ScriptReference/PlayerPrefs.html Смотрите документацию юнити там все есть, все методы, что для чего, что не понятно сразу забили Unity playerprefs например и все.
На счет LoadSettings там такого скрипта нету. Tcnm njkmrj Settings скрипт, LoadSettings метод для загрузки сохраненных настроек.
@@АйтиНуб а он сам запускается?
@@d.rogov04 При старте сцены срабатывает этот метод, он в методе Start прописан.
Спасибо большое
error CS0103: The name 'LoadSettings' does not exist in the current context
error CS0266: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?)
error CS1061: 'Dropdown' does not contain a definition for 'ReFreshShownValue' and no accessible extension method 'ReFreshShownValue' accepting a first argument of type 'Dropdown' could be found (are you missing a using directive or an assembly reference?)
error CS0103: The name 'LoadSettings' does not exist in the current context
Вот такие ошибки после написания скрипта, так же пробовалось и с теми же UI компонентами что и на видео.
Скрипт в описании есть, скачайте и сделайте так как в видео, только у вас стоят Text mesh pro элементы ( раньше в юнити этого не было по умолчанию, поэтому у меня по другому), надо будет поменять в скрипте названия переменных, в верхнем прикрепленном моем комментарии описано, как это сделать.
@@АйтиНуб окей, сейчас попробую
@@АйтиНуб а и ещё, я не использую Mesh элементы
У меня использовалась Legacy версия этих элементов
@@griflive А у если все ui элементы без TextMeshPro, то ничего менять не надо в моем коде.
@@АйтиНуб Теперь работает
Появился вопрос. В самом скрипте есть настройка музыки, но в видео оно не попало. Не могли бы вы помочь разобраться с настройкой музыки?
У меня было видео, но я удалил его, там почти без комментирования кода, вот можно скачать drive.google.com/file/d/1vmJYY48_QMb-YzvRaW42mujgRKLbbz7j/view?usp=share_link
Что делать если у меня место ExitSetting, стоит ExitGame
Ничего страшного просто метод в видео я назвал ExitSettings, а в скрипте в описании ExitGame , уже исправил. Можно свои названия давать, чтобы вам было понятно, не обязательно повторять за мной.
Здравствуйте, а можно без Разрешения Екрана етот скрипт сделать?
Делай без разрешения, в чем проблема.
@@АйтиНуб Я делал там кусочки скрипта удалял но нечего не работает графика не меняется хотя она сохраняется, незнаю может проблема в графике которую я использую но не думаю
@@BandanaGang999Дело в том, что это видео делалось на старом редакторе, там в новых редакторах возможно есть каие-то изминения, поэтому так сказать сложно, что надо делать тебе. К сожалению я ничем не могу помочь Это надо самому делать сначала все, а у меня нет на это времени, я уже не занимаюсь этим.
Здравствуйте. Подскажите пожалуйста. А как сделать переход с главного меню в настройки. Я делал главное меню с кнопками по вашему старому видео-ролику
Ну так в том видео про главное меню все и показано как переходить в опции смотреть с 3-15 приблизительно.
@@АйтиНуб Знаю. Просто тама панель настроек не состоит в канвасе. А в этом ролике вы сделали панель управления внутри канваса. Это никак не повлияет на переход?
@@МКХамелеон Оно все в канвасе, без канваса работать на будет, все UI элементы должны быть в канвасе, при добавлении UI элемента канвас автоматически ставится. Просто там может быть еще какая то вложеность в панель или другой элемент, но Канвас всегда родительский будет, так что ничего не поменяется.
@@АйтиНуб Отлично спасибо за уточнение
спасибо большое за ролик!)
Пишу комментарий для продвижения видео!
Спасибо.
Спасибо вам большое за ваш труд!
Не за что.
Хотелось бы спросить будет работать сохранение настроек в 2д игре?
Должны.
Наверно уже позно пишу. Почему у меня не работает разрешение экрана? Менял разрешение, но не работает.
А, я уже исправил, надо было скомпилировать игру
Здравствуйте, видео классное и познавательное, но у меня какая-то ошибка на 23 или 29 строке скрипта, не могу найти отличий между вашим и своим скриптом😕
Не могу из-за этого запустить игру
Что написано в ошибке?
Классный ролик√)
Assets\setings.cs(59,82): error CS0117: 'Screen' does not contain a definition for 'fullscreen'
как пофиксить
Код с сайта брали?
@@АйтиНуб я уже это пофиксил но теперь новая проблема я не могу нажать не на одну кнопку тупо мышка не нажимает и да я скопал с сайта
@@renewe9868 Посмотри слоя (layers). UI слой где? Event system в иерархии есть?
@@АйтиНуб я проверю и скажу вам
@@АйтиНуб смотрите у меня ui есть в слоях я не понимаю куда кинуть ивент я эго создаю и начинает работать только exit save full screen но работают в плане они нажимаются но нажимаю на выход не работает и та штука где графика не развёртивается и где разрешение экрана
Почему не могу вставить в скрипт resolutionDropDown и qualityDropdown
Потому что у тебя вместо resolutionDropdown и qualityDropdown , TextMeshPro Dropdown. Для начала нужно добавить пространство имен using TMPro и потом поменять поля на TMP_Dropdown помоему как -то так, попробуй.
@@АйтиНуб спс
@@mishmain9944 У меня это все в закрепленном коментарии сверху было.
@@АйтиНуб все спасибо у меня все получилось
@@mishmain9944 Хорошо.
А как грамотно ввести метод сохранения настроек в скрипт прошлого видео про опции? Там просто нет как таковых публичных переменных типа Dropdawn
Зачем прошлое видео бери отсюда скрипт и все.
@@АйтиНуб Так просто в этом видео ты посоветовал с кнопками звука ссылаться на старое видео. Меня в принципе в том меню все абсолютно устраивает, просто не могу грамотно сделать сохранение настроек. Я делаю игру на телефоны, а в этом видео настройки скорее для ПК версии.
Со звуком там отдельное все правильно. Я вот всем советую, просто мои уроки для новичков совсем как бы показать что и как работает, если ты делаешь игру, чтобы в продакш запустить, то лучше всегда пользоваться уже готовыми эссетами, где уже все написано, и не изобретать велосипед. У меня на сайте можно найти бесплатно нужные ессеты.
Например по меню unitydev.top/index.php?view=fileitem&id=191
или unitydev.top/index.php?view=fileitem&id=192 по сейвам тоже полно есть.
@@АйтиНуб Да, понимаю, но игра, которую я делаю, это одновременно и способ обучения разработки, т.к. через курсы слишком нудно и зачастую не понятно. Я стараюсь связывать различные механики и создовать самостоятельные подобные. Обычно я анализирую код, и просто перестраиваю его под свои нужды. Однако между этим видео и прошлым оказалась ощутимая разница и мои навыки не позволили перестроить систему сохранения под себя.
@@АйтиНуб Я просто еще не владею работой ассетами, но, видимо, необходимо осваивать
Я столкнулся с проблемой что когда я включаю High в настройках то Lyght type: spot лагает и светится как point что делать.
А за урок спосибо😊:)
К сожалению, ничем не могу помочь, не сталкивался с таким.
@@АйтиНуб поищю в інтернете но спасибі за ролик очень помог...
Добрый день, возникла проблема
NullReferenceException: Object reference not set to an instance of an object
OptionMenu.Start () (at Assets/Scripts/OptionMenu.cs:18)
Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class OptionMenu : MonoBehaviour
{
public AudioMixer audioMixer;
public Dropdown resolutionDropdown;
public Dropdown qualityDropdown;
Resolution[] resolutions;
void Start()
{
resolutionDropdown.ClearOptions();
List options = new List();
resolutions = Screen.resolutions;
int currentResolutionIndex = 0;
for (int i = 0; i
Привет. Ну я на первый взгляд увидел поле слайдера громкости, чем ты громкость регулируешь? Понимаешь, это мне придется создавать новую сцену, чтобы все это проверять, я уже просто юнити закинул и у меня на это нет времени, если ты не очень разбираешься в коде, то лучше возьми и тебе просто нужен результат, возьми готовый ассет и не мучайся. Или же просто сделай как здесь. Если конечно хочешь можешь выслать свой проект, я если будет время посмотрю в чем ошибка.
куда на вставить loadsettings?помогите
Что за loadsettings по конкретнее?
Где создать bool isFullScreen
Спасибо за скрипт ❤
Привет АйтиНуб! Можешь пожалуйста сказать, почему когда я в Иерархии ResolutionDropdown перекидываю в скрипт, он не перекидывается? Пожалуйста ответьте. Мне это очень важно
Не понял как это перекидываю в скрипт?
@@АйтиНуб Я не могу перекинуть объект ResolutionDropdown В Settnigs :( Если надо , то я могу скинуть проект. Просто я не очень силён в юнити. Очень надеюсь на ваш ответ.
@@izmoihnahuynasok Да кидай проект лучше, так сложно понять. Не забудь доступ дать и заархивировать его.
@@АйтиНуб Ок, вот, там есть unitypackage и просто файл. Как вам удобнее. Потом просто или скажите ошибку или дайте уже исправленный вариант. Вот ссылка: drive.google.com/file/d/1ULKVX4-XDAWCkTCz8VIXH3rWZ0VYeKuF/view?usp=sharing очень надеюсь на ваш ответ
@@izmoihnahuynasok Хорошо посмотрю.
а если точнее, почему Выбор Дропдауна не видит Дропдауны, пожалуйста помогите.
Так без проекта я не увижу. Если хочешь скинь свой проект на облако и дай ссылку я посмотрю. Ну и на крайней случай снеси Unity и поставь новую версию с нужными модулями.
у меня скрипт настроек не вставляется в компонент настроек
помогите пожалуйста, у меня dropdown не хочет переносится в скрипт. Что делать? Заранее спасибо
В смысле, по подробнее?
@@АйтиНуб у меня такая же беда. не дает перенести Dropdown с иерархии в скрипт (в инспекторе), на 16 минуте видео.
@@Geva265 Код, пожалуйста дайте и если можно видео вышлите.
@@АйтиНуб скрипт точно такой же как в видео, я проверял
у меня с еще одним скриптом такая же беда
@@gensi6624 Если хотите киньте проект на гугл диск, я посмотрю. Просто в первый раз такое слышу.
Столкнулся со странной проблемой - Screen.fullScreen всегда выдаёт false, вне зависимости от подаваемого bool isFullScreen
Одного в билде кнопка работает корректно - забавно
Добрый день! Как теперь можно скачать ассет с сайта? Теперь при нажатии на скачать переходит на какой-то сайт Link vertis а там непонятно где и как.
Сейчас другой сервис рекламы поставил, попробуйте. Вынужден ставить сервис рекламы, чтобы хоть какая то копейка шла. Вы какой браузер используете? У меня Firefox там автоматом все блокирует.
@@АйтиНуб Добрый вечер! Используем Хром, сейчас всё нормально работает!Конечно монетизировать нужно, что-бы хоть как-то оправдывать свой труд и не терять интерес. Спасибо!
@@ВикторияАлексеевна-н4м Добрый день! Хорошо. Будут какие-то проблемы с работой сайта пишите сюда или на сайте.
хороший урок, но у меня Дропдауны не переносятся к скрипту, как это исправить?
Не понял, что значит не переносятся?
@@АйтиНуб это уже не важно, в комментариях я нашла ответ.
ТОП 26.04.2023 ТОП
Как добавить настройки чувствительности?
Как я понял сохранения не влияют на положение чек бокса, а только на значения.
public Toggle fullscreenToggle;
//----------------для сохранения-------------------------------
PlayerPrefs.SetInt("FullscreenTogglePreference", System.Convert.ToInt32(fullscreenToggle.isOn));
//----------------для загрузки------------------------------------
if (PlayerPrefs.HasKey("FullscreenTogglePreference"))
fullscreenToggle.isOn = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenTogglePreference"));
else
fullscreenToggle.isOn = true;
небольшая проблема
error CS0029: Cannot implicitly convert type 'UnityEngine.Resolution[]' to 'Resolution[]'
и еще 7 ошибок
Вы скрипт по ссылке в описании качали?
Очень хорошый канал!!🤩🤑🤩
А можете пожалуйста сделать передвижение игрока через кнопок(для Android)?😁🙃
Спасибо. Когда нибудь сделаю. А пока рекомендую для управления на андроид попробывать вот такой готовый эссет: unitydev.top/index.php?view=fileitem&id=11
Бяляляшыоыоыцо писал код час, всё как на видео.. и как вы думаете? ПРАВИЛЬНО ОН ЖАЛУЕТСЯ НА РЕЗОЛЮШЕН И СКРИН. ТИПО НЕ ВХОДИТ В КОНТЕКСТ
как сделать чувствительность машины в Unity:)
Привет, скрипт в описании актуален?
Должен быть.
@@АйтиНуб Можешь помочь? в своем проекте я использую бесплатный 3д ассет на движение от 3 лица с камерой. При билде игры я ее хапускаю и когда кручу камерой у меня курсор появляется.
Здравствуйте, что делать если не открывается окно qualitydropdown и resolutiondropdown просто нет настроек графики и разрешения что делать? все введено правильно помогите пожалуйста
Не могу знать. Проект ваш давайте посмотрю. Бывают и в самом юнити глюки.
@@АйтиНуб хорошо
@@foltiks6173 Только если будешь скидывать открой доступ, чтобы я скачать смог его.
@@АйтиНуб давайте я вам в личку скину скажите ваш вк или что то просто в открытый доступ не хочеться отдавать долго старался над игрой :)
@@foltiks6173 Я соц сетями не пользуюсь. Да и там такой большой архив разве можно передать. Ты просто закинь я скачаю, дай только мне ссылку (больше ни кому не давай, а ссылку скинь на почту мне, на сайте есть в меню контакты, там можно написать письмо), я скачаю напишу, что скачал и ты удалишь его сразу из гугл диска, вот и все. Я просто не могу без проекта наугад сказать, если код верный, то проблема где-то в пооекте.
Nice
загрузите скрипт на гугл диск пожалуйста, а то ссылка в россии не работает
Vpn в помощь. Залил
@@АйтиНуб с впном не запускает тоже
@@s0e4ka Уже и без впна все работает. Пробуйте.
@@АйтиНуб спасибо вам огромное!
Помогите мне!!!!!!Мне нужно сбпосить настройки в юнити!!!!
Я обычно переустанавливал, но можешь попробовать вверху справа есть Layout, нажимаешь и выбираешь Default, попробуй.
@@АйтиНуб Спасибо огромное за ответ!!!!Если честно мне очень стыдно вымаливать в комментариях ответ,но по другому навряд ли ответили бы.Если честно я чуствую себя идиотом,потому что я скачал юнити вчера и там не было важных проектов,я мог спокойно скачать другую версию. Удивительно,как я за час просто тыкая кнопками смог испоганить эту версию юнити.
Запускается в самом маленьком разрешении, выбираю разрешение, сохраняется но не на что не влияет
Если все делали по видео, то все должно работать. Значит у вас где то ошибка. Если хотите дайте копию проект я посмотрю.
بتوفيق
Если бы я мог забилдить проект...
пишет скрипт нот фоунд
В смысле?
@@АйтиНуб хз нот фоунд пишет все делал по видео
@@BlackStarInteractive Дайте проект , ничего не понимаю . Что не находит скрипт?
@@АйтиНуб ну хз тип я сделал скрипт и перетаскиваю туда надо и потом пишет скрипт нот фонд и тд тп ну забейте уже
@@BlackStarInteractive Ты можеш скрипт создать сразу в инспекторе на том объекте на котором хочеш. Выбираеш например в иерархии объект Canvas, идеш в инспектор и жмешь Add Component и пишешь в поиске New Script, называешь его и вперед.
جميل
8:56 (это я для себя)
12:18
Помогите кто-нибуль я не понимаю где тут ошибка:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Settings : MonoBehaviour
{
public Dropdown resolutionDropdown;
public Dropdown qualityDropdown;
Resolution[] resolutions;
void Start()
{
resolutionDropdown.ClearOptions();
List options - new List();
resolutions = Screen.resolutions
int currentResolutionIndex - 0;
for(int i = 0; i < resolutions.Length; i++)
{
string option - resolutions[i].width + "x" + resolutions[i].height + " " + resolutions[i].refreshRate + "Hz";
options.Add(option);
if (resolutions[i].width -- Screen.currentResolution.width && resolutions[i].height -- Screen.currentResolution.height)
currentResolutionIndex - i;
}
resolutionDropdown.AddOptions(options);
resolutionDropdown.RefreshShownValue();
LoadSettings(currentResolutionIndex);
}
public void SetFullScreen(bool IsFullscreen)
{
Screen.fullScreen = isFullscreen;
}
public void SetResolution(int resolutionIndex)
{
Resolution resolution - resolutions[resolutionIndex];
Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
}
public void SetQuality(int qualityIndex)
{
QualitySettings.SetQualityLevel(qualityIndex);
}
public void SaveSettings()
{
PlayerPrefs.SetInt("QualitySettingPreference", qualityDropdown.value);
PlayerPrefs.SetInt("ResolutionPreference", resolutionDropdown.value);
PlayerPrefs.SetInt("FullscreenPreference", System.Convert.ToInt32(Screen.fullScreen));
}
public void LoadSettings(int currentResolutionIndex)
{
if (PlayerPrefs.HasKey("QualitySettingPreference"))
qualityDropdown.value = PlayerPrefs.GetInt("QualitySettingPreference");
else
qualityDropdown.value = 3;
if (PlayerPrefs.HasKey("ResolutionPreference"))
resolutionDropdown.value = PlayerPrefs.GetInt("ResolutionPreference");
else
resolutionDropdown.value = currentResolutionIndex;
if (PlayerPrefs.HasKey("FullscreenPreference"))
Screen.fullScreen = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenPreference"));
else
Screen.fullScreen = true;
}
}
Почитай прикрепленный комментарий. Раньше не было Text mesh pro по умолчанию, поэтому в скрипте его нет. Сейчас его нужно добавлять и менять названия полей.
помогите пожалуйста у меня ошибка NullReferenceException: Object reference not set to an instance of an object
settings.LoadSettings (System.Int32 currentResolutionIndex) (at Assets/scripts/settings.cs:101)
settings.Start () (at Assets/scripts/settings.cs:38) никак не могу исправить вот код using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using UnityEngine.Audio;
using TMPro;
public class settings : MonoBehaviour
{
public AudioMixer audioMixer;
public TMP_Dropdown resolutionDropdown;
public TMP_Dropdown qualityDropdown;
public Slider volumeSlider;
float currentVolume;
Resolution[] resolutions;
void Start()
{
resolutionDropdown.ClearOptions();
List options = new List();
resolutions = Screen.resolutions;
int currentResolutionIndex = 0;
for (int i = 0; i < resolutions.Length; i++)
{
string option = resolutions[i].width + "x" + resolutions[i].height + " " + resolutions[i].refreshRate + "Hz";
options.Add(option);
if (resolutions[i].width == Screen.currentResolution.width
&& resolutions[i].height == Screen.currentResolution.height)
currentResolutionIndex = i;
}
resolutionDropdown.AddOptions(options);
resolutionDropdown.RefreshShownValue();
LoadSettings(currentResolutionIndex);
}
public void SetVolume(float volume)
{
audioMixer.SetFloat("Volume", volume);
currentVolume = volume;
}
public void SetFullscreen(bool isFullscreen)
{
Screen.fullScreen = isFullscreen;
}
public void SetResolution(int resolutionIndex)
{
Resolution resolution = resolutions[resolutionIndex];
Screen.SetResolution(resolution.width,
resolution.height, Screen.fullScreen);
}
public void SetQuality(int qualityIndex)
{
QualitySettings.SetQualityLevel(qualityIndex);
}
public void ExitGame()
{
SceneManager.LoadScene("Level");
}
public void SaveSettings()
{
PlayerPrefs.SetInt("QualitySettingPreference",
qualityDropdown.value);
PlayerPrefs.SetInt("ResolutionPreference",
resolutionDropdown.value);
PlayerPrefs.SetInt("FullscreenPreference",
System.Convert.ToInt32(Screen.fullScreen));
PlayerPrefs.SetFloat("VolumePreference",
currentVolume);
}
public void LoadSettings(int currentResolutionIndex)
{
if (PlayerPrefs.HasKey("QualitySettingPreference"))
qualityDropdown.value =
PlayerPrefs.GetInt("QualitySettingPreference");
else
qualityDropdown.value = 3;
if (PlayerPrefs.HasKey("ResolutionPreference"))
resolutionDropdown.value =
PlayerPrefs.GetInt("ResolutionPreference");
else
resolutionDropdown.value = currentResolutionIndex;
if (PlayerPrefs.HasKey("FullscreenPreference"))
Screen.fullScreen =
System.Convert.ToBoolean(PlayerPrefs.GetInt("FullscreenPreference"));
else
Screen.fullScreen = true;
if (PlayerPrefs.HasKey("VolumePreference"))
volumeSlider.value =
PlayerPrefs.GetFloat("VolumePreference");
else
volumeSlider.value =
PlayerPrefs.GetFloat("VolumePreference");
}
}
Скрипт мне не о чем не говорит, нужен весь проект, скрипт у меня есть. Код скачан по ссылке в описании? Если да то проверьте совпадают ли названия переменных в коде и в объектах, многие скачивают код, а названия объектов свои дают, вот и не совпадают.Также смотрите закрепленный комментарий, если проблема с ui элементами. Видео старое, раньше по умолчанию были дефолтные элементы, сейчас надо менять в скрипте на TextMeshPro элементы, если конечно у вас не старая версия редактора. Если вы все внимательно сделали по видео, с нулевого проекта, а не когда у вас куча скриптов стоит, ассетов и прочего, которое может конфликтовать, то все будет работать.
Очень полезный канал , спасибо вам. Мог бы мне кто нибудь помочь , а то я не могу в скрипт вставить эти два DropDawn , если что вот скрипт
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Settings : MonoBehaviour
{
public Dropdown ResolutionDropdown;
public Dropdown QualityDropdown;
Resolution[] resolutions;
void Start()
{
ResolutionDropdown.ClearOptions();
List options = new List();
resolutions = Screen.resolutions;
int currentResolutionIndex = 0;
for (int i = 0; i < resolutions.Length; i++)
{
string option = resolutions[i].width + "x" + resolutions[i].height + " " + resolutions[i].refreshRate + "Hz";
options.Add(option);
if (resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height)
currentResolutionIndex = i;
}
ResolutionDropdown.AddOptions(options);
ResolutionDropdown.RefreshShownValue();
LoadSettings(currentResolutionIndex);
}
public void SetFullscreen(bool isFullscreen)
{
Screen.fullScreen = isFullscreen;
}
public void SetResolution(int ResolutionIndex)
{
Resolution resolution = resolutions[ResolutionIndex];
Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
}
public void SetQuality(int qualityIndex)
{
QualitySettings.SetQualityLevel(qualityIndex);
}
public void SaveSettings()
{
PlayerPrefs.SetInt("QualitySettingsPreference", QualityDropdown.value);
PlayerPrefs.SetInt("ResolutionPreference", ResolutionDropdown.value);
PlayerPrefs.SetInt("FullScreenPreference", System.Convert.ToInt32(Screen.fullScreen));
}
public void LoadSettings(int currentResolutionIndex)
{
if (PlayerPrefs.HasKey("QualitySettingsPreference"))
QualityDropdown.value = PlayerPrefs.GetInt("QualitySettingsPreference");
else
QualityDropdown.value = 3;
if (PlayerPrefs.HasKey("ResolutionPreference"))
ResolutionDropdown.value = PlayerPrefs.GetInt("ResolutionPreference");
else
ResolutionDropdown.value = currentResolutionIndex;
if (PlayerPrefs.HasKey("FullScreenPreference"))
Screen.fullScreen = System.Convert.ToBoolean(PlayerPrefs.GetInt("FullScreenPreference"));
else
Screen.fullScreen = true;
}
}
Все разобрался. Только что человек с такой же проблемой был. . У тебя там скорее всего не dropdown, а textMeshPro dropdown, это разные вещи. Добавь в скрипт пространство имен в верху using TMPro;
и в переменных вместо Dropdown, напиши TMP_Dropdown и будет тебе счастье.
@@АйтиНуб Cпасибо!!