Данный канал посвящен разработке и моделированию. В рамках видео-уроков ты познакомишься с созданием 3D-моделей и программированием. Также на канале периодически будут появляться подкасты в формате "поговорим о ...", новостные дайджесты и интервью с разработчиками.
Привет. Помоги с кодом, пожалуйста, если не тяжело. Пробую сохранить индекс, создал выше переменную для этого ([SerializeField] private byte savedIndex;) и две функции для загрузки и сохранения private void Save() { PlayerPrefs.SetFloat(this.savedIndex, this._currentIndex); } private void Load() { this._currentIndex = PlayerPrefs.GetFloat(this.savedIndex); } а выдает ошибку "cannot convert from 'byte' to 'string'". Что можно сделать?
Та без проблем, при сохранении ты используешь SetFloat, а эта функция для дробных чисел, лучше использовать SetInt. И сам формат обращения неправильный Должно быть так: PlayerPreffs.SetInt("saveIndex", _currentIndex). Первый параметр - это название для записи в память, что-то в духе ярлыка, а второй - само значение. С получением данных та же история.
@@it_thoughts Золотой человек ты) Сделал вот так: private void Save() { PlayerPrefs.SetInt("savedIndex", _currentIndex); } private void Load() { _currentIndex = PlayerPrefs.GetInt("savedIndex"); } Стало получше, но сейчас ошибка "Cannot implicitly convert type 'int' to 'byte'. An explicit conversion exists (are you missing a cast?)". Извини еще раз что беспокою, еще раз спасибо)
@@uastiller Тут два варианта: либо поменять тип у currentIndex с byte на int, либо сделать приведение типов. Для приведения типа нужно просто написать (byte)(PlayerPrefs(...))
@@it_thoughts Все работает шикарно, но такой вопрос, этот код нужно закидывать в сам скрипт с основой игры (TextQuest)? В ином случае же будет "currentIndex does not exist...", но если привязать полностью основной скрипт то все функции из него перейдут тоже и появится окно где нужно вводить действия, описания комнат и тд. У меня почему то просто эту функции Save и Load не появились в OnClick в TextQuest (хотя я накинул скрипт на пустой обьект, а кнопки его дочерние обьекты)
здравствуйте! возникла проблема с кнопкой рандомного воспроизведения. изначально кнопка отображается как "выкл", я нажимаю - надпись меняется на "вкл", но при повторном нажатии на кнопку надпись не меняется обратно на "выкл", хотя кнопка функционирует. не подскажете в чем может быть проблема? что только не перепробовала - всё без толку
Добрый день, найдите блок, который отвечает за эту кнопку и проверьте, если логика работает, значит осталось только добавить смену текста. Например: SetText(вкл)
Приветствую! У тебя подсказка "Звонок другу" не учитывает возможность, что перед этим могла быть использована подсказка 50/50. Соответственно друг может выдать вариант ответа, которого уже нет в списке, что не правильно. Нужно как-то поправить этот момент.
Спасибо за понятный туториал! А можно ли как то организовать систему сохранения? Типо нажимаешь кнопку "Сохранить" и после перезахода в игру можешь продолжить с того же момента, где закончил. Буду очень благодарен за ответ
@@it_thoughts Ну я примерно искал, видел такое, но как сохранять именно индекс? То есть, как написать в коде чтобы сохранялась и загружалась именно эта цифра при нажатии кнопок "Сохранить" и "Загрузить" соответственно? Еще раз большое спасибо за ответ
@@uastiller // Сохраняем число в переменную money PlayerPrefs.SetInt("money", 345); // Извлекаем число в переменную money int money = PlayerPrefs.GetInt("money"); Только там будет индекс
Три дня и две переделки с ноля - и ура! Урок на 26 минут пройдет) Под конец уже просто набирал конструкции не особо понимая что зачем и почему, но...потихонечку надеюсь освою. Спасибо за урок!
Ничего страшного, практика - и все станет понятно) Есть бесплатная языковая модель perplexity - можно в нее вписывать непонятные команды и она объяснит.
По ссылке к сожалению не код который можно было бы посмотреть, а набор файлов. Видимо готовый проект. У меня на 20:15 почему-то код не работает. Проверку не проходит. Сверяюсь с тем что у вас на экране - совпадает. А Юнити пишет NullReferenceException: Object reference not set to an instance of an object TextQuest.Start () (at Assets/Script/TextQuest.cs:40) У меня в коде это вот так: private void Start() { _roomText.text = _roomInfo[_currentIndex].RoomText; } Может посоветуете ресурс где можно вот такие проблемы-вопросы задавать? /// [Adaptive Performance] No Provider was configured for use. Make sure you added at least one Provider in the Adaptive Performance Settings. Ещё и такое пишут(
Добрый день. Все верно, гитхаб - это "файлообменник" для программистов. Там вы можете посмотреть все файлы, которые вам нужны. У меня на канале есть небольшой плейлист с основами гит и гитхаб. Касательно первой ошибки - это означает, что программа пытается вызвать объект, которого не существует. Проверьте в юнити, что вы прикрепили нужный скрипт и заполнили его данными.
Скажите пожалуйста, сколько у вас по времени такой проект открывается? у меня он на хдд и открывается минут 5-10. Хотя в нём ничего кроме текстового квеста нет. Это нормально или нет?
@@ruidogeothuld3118 для небольших игр, которую делаете несколько человек юнити отлично подходит, анриал же нужен для крупных проектов. Понятно, что это все относительно, но все же. Небольшая ирония заключается в том, что программирование в анриал проще, нежели в юнити)
@@it_thoughts Забавно, сколько людей столько и мнений. Выбирая движок как раз опирался на видео где говорилось "юнити проще") Но останусь пока на ваших уроках. Они хорошие и надо с чего-то начинать. Спасибо за труд!
Добрый день,почему то юнити когда хочу привязать кнопку не показывает Reset(),а с Exit() всё прекрасно работает,код в ресете написан точь-в-точь и ошибок никаких не выдает визуал студио
Добрый день, да, вообще-то можно, тут зависит от того как именно это должно работать. Самый простой вариант - создать счётчик для количества вопросов. И при помощи класса Random брать случайные индексы их массива вопросов, но, чтобы игра н была бесконечной, нужно сделать проверку, что если было отвечено на определенное количество вопросов - конец игры
@@KerrorJerty Вы хотите, чтобы ответы тоже меняли позицию? Тут уже сложнее, придется менять структуру класса Question и добавлять подкласс с ответами, где будет храниться текст ответа и boolean переменная с пометкой правильный это ответ или нет
Добрый день. Да, можно. Для этого нужно добавить переменную со здоровьем (целое число) и переписать часть кода, когда пользователь ошибся. Там вам нужно уменьшать здоровье и если оно будет равно 0, то это конец игры.
3-ю проблему решил просто изменив расположение VS Code. Как это сделать? Кликаем ПКМ по ярлыку ВС кода, а потом ещё раз (если закреплено на панели задач), потом кликаем на "свойства". В свойствах нажимаем "расположение файла". Вас перебросит в папку с нашим ВС кодом. Вверху переходим в старшую папку (та, что слева от нашей). В этой папке должен быть Microsoft VS code (у меня так). И просто нахрен вырезаем весь этот Microsoft VS code и переносим в нужную папку, у которой в пути нет русских названий (например администратор, как у меня). Запускаем ВС код. Пользуемся
Как проставлять enter в тексте? У меня вот есть текст, но когда я ставлю enter в тексте в room Info в game controller-е, текст всё равно печатается без enter-а
АйТи мысли: вы вошли в тёмную комнату и увидели лампочку. Включить её или нет? Все: "ничего не подозревают" Я: всё понятно, это хоррор А если вообще, то мне кажется, что мне судьба подкинула именно то видео, которое мне и надо было: я как раз собираюсь программировать текстовый квест и платформер, так причём и с самого нуля. Очень помогло видео!
Помоги пожалуйста задрало уже, каждый раз при включение vc code. Пишет у некоторых файлов java что есть какое это количество проблем, при входе в файл все пропадает...
Доброго времени суток! Проблема такая: на 3:38 вы выбираете python, у меня его там нет. в marketplace установлены расширения python и pylance. стоит python 3.10.11
Возможно рацион неправильно установлен. Если скачивали с сайте проверьте, что при установке нажали галочку "add python to PATH". Переустановить пайтон и должно увидеть
@@sarcandi попробуйте так: нажимаете Win+R->cmd->OK, открывается консоль и там нужно вписать "python"->Enter. Если запустится пайтон - проблема в vs code, если выдаст "python не является ключеввым словом..." - нужно переустанавливать пайтон и искать эту галочку (она на самом первом окне внизу)
Спасибо) Я ориентируюсь на свою рабочую практику с детьми и студентами. Можно научить их языку программирования, но они вообще не понимают как его использовать. Получается набор слов, а не рабочий код)
@@it_thoughts я помню когда начал заниматься игровыми серверами, то сразу все пошло. Детям надо видеть результат сразу. Тогда их это может заинтересовать, но не всех=). А для взрослых наверное это видео бесполезно.
@@-Nefilime- Образовательный контент - вообще дело неблагодарное, но если кому-то поможет, то я буду рад) Я преподаю у детей и подростков и даже, если они сильно замотивированы, то им не хватает именно понимаю процесса.