Неее :)) ну это уже гайд не о том как сделать сохранение чего либо, а о том, как сделать игру. :) В этом обучающем видео ты сделал мини-игру, которую нужно чуть-чуть допилить и сделать уровни с препятствиями, и игра готова! Гайд отличный, спасибо большое!
Спасибо огромное, у меня игра кликер конечно с разными уровнями, но очень помог Я просто вместо приватного класса сделал его публичным и добавил на кнопку, чтобы он на нажатие сохранял и всё работает отлично Спасибо огромное
Фух, 4 часа продуктивной работы. Правда на моменте instate я убил почти час, из-за того что просто не посмотрел видео на секунд 20 дольше 😖. Правда у меня почему-то не сохраняется прогресс🤔, но пожалуй пересмотрю для проверки первую половину в другой день
Проектирование далеко не самое лучшее, чесно говоря. В данном случае - вопросов нет: когда у тебя 3 уровня, такая архитектура имеет место быть. Но когда их 100, стоит задуматся. И прикрываться, что это урок для чайников - тоже дело смутное. Учите с самого начала, как делать правильно и качественно.
Вопрос: а хранение большого количества уровней таким способом целесообразно? Если например уровней будет несколько сотен, или даже тысяч, как в игре Fishdom, тогда как?
Можно сделать по другому: делаем лист кнопок с уровнем; в переменную типа int из PlayerPrefs берем количество открытых уровней; в методе старт мы делаем цикл от нуля до количества открытых уровней и внутри цикла делаем interactable = true
слушай, я так и сделал только у меня все уровни разблокироваются, а если вместо interactable = true, написать interactable = false, то все уровни кроме первого лочатся, что я делаю не так, можешь помочь?
код по архитектуре не корректен, как ты будешь контролировать если будет 1000 уровней или 5000, ты будешь каждый уровень писать в if и проверять ?? Понятно что твой контент для новичков , но код надо изначально правильно организовывать, а то так и будут недоучки и понимать не будут где косяк . если рассматривать как Unity уроки для детей то вопросов нет
@World War Memes на самом деле там не такая сложная задача как тебе кажется, просто в цикле for есть переменная i по умолчанию и ты можешь с помощью неё проверять каждый уровень. К примеру переменная i номер уровня в цикле и если она будет меньше открытых уровней то уровень будет разблокироваться.
Привет, слушай, у меня такая проблема, все сдела как на видео, но когда переходит на следующий уровень, а потом ты переходишь в меню, то уровни не сохраняются, можешь ответить? Изменено: Все работает, я заного сделал кейсы
@@ВикторФедоренко-ж7ь если у вас есть дополнительные сцены, то поменяйте кейсы на сцены, в которых сцены которые вы хотите, т.е цифры. Если у вас сцена например "2" с самой игрой, то указываете в первом кейсе 2
@@ВикторФедоренко-ж7ь возможно у вас как у меня, в скрипте левел контроллер могут быть слова с маленькой, а не с большой буквы Если сделать как надо большой, то всё сохраниься
Помогите с таким вопросом. Вот у меня выбор уровней начинается со 2 сцены. И тоже 3 уровня. И вот если делать по этому примеру, работает всё кроме сохранения уровней. Что мне нужно изменить чтоб уровни сохранялись?
@@graphicaldesign2776 спасибо за ответ. Ну я решил проблему. Сделав уровни не во 2 сцене, а в 1. Тока теперь при нажатие старт меняется картина на уровни, а не на сцену с уровнями😅
!ПОМОГИТЕ! Пишет: NullReferenceException: Object reference not set to an instance of an object NextLevel.OnTriggerEnter (UnityEngine.Collider collider) (at Assets/Scripts/ChooseLV/NextLevel.cs:9) Что делать?
Подскажи, как сохранить на сцене обьект, который я загрузил из asset bundle. он появляется с пометкой clone и потом исчезает после перезагрузки приложения
Вопрос я понимаю что ты скорее всего не ответишь, но я постараюсь достучаться "Что делать если после прохождения 3 lvl автоматом Reset нажимается хоть и я этого не хочу?" я код раза 4 пересмотрел.
не сохраняет результат. как быть? что делать?? подскажите пожалуйста, в чем может быть проблема. все кроме первого уровня не доступны. Мне кажется проблемы с switch. Проверьте пожалуйста. levelComplete = PlayerPrefs.GetInt("LevelComplete"); ButtonLevel2.interactable = false; ButtonLevel3.interactable = false; ButtonLevel4.interactable = false; ButtonLevel5.interactable = false; switch (levelComplete) { case 1: ButtonLevel2.interactable = true; break; case 2: ButtonLevel2.interactable = true; ButtonLevel3.interactable = true; break; case 3: ButtonLevel2.interactable = true; ButtonLevel3.interactable = true; ButtonLevel4.interactable = true; break; case 4: ButtonLevel2.interactable = true; ButtonLevel3.interactable = true; ButtonLevel4.interactable = true; ButtonLevel5.interactable = true; break; } } public void LoadTo(int level) { SceneManager.LoadScene(level);
Ты добавил лишнее действие levelComplete = PlayerPrefs.GetInt("LevelComplete"); ButtonLevel2.interactable = false; ButtonLevel3.interactable = false; ButtonLevel4.interactable = false; ButtonLevel5.interactable = false; switch (levelComplete) { case 1: ButtonLevel2.interactable = true; break; case 2: ButtonLevel2.interactable = true; ButtonLevel3.interactable = true; break; case 3:
ButtonLevel3.interactable = true; ButtonLevel4.interactable = true; break; case 4:
ButtonLevel4.interactable = true; ButtonLevel5.interactable = true; break; } } public void LoadTo(int level) { SceneManager.LoadScene(level); PS: пхпхх конечно прошло 3 года уже, но вдруг помог)
Ошибка CS0120 Для нестатического поля, метода или свойства "LevelController.instance" требуется ссылка на объект. что делать с такой ошибкой ошибка тут using System.Collections; using System.Collections.Generic; using UnityEngine; public class NextLevel : MonoBehaviour {
Что делать если при проверке скрипта юнити пишет что ты не написал использование библиотек для int и interactable, хотя ты написал использование. Можно ли как-то исправить скрипт или загрузить библиотеки в юнити? Или может есть другой скрипт без int
Полный ужас, всё сделал и уровни рестарт сами делают, кучу времени пытался решить эту проблему, ни чего не помогало. Но вдруг заметил что в скрипте МайнМеню LevelComplete с маленькой буквы,. С*ка. Капец, просто нет слов,. Урок отличный, спасибо.
Graphical Design можно вопрос.А можно ли зделать колайдер и поставить галочку на Trigger и тем самым зделать невидимый колайдер для перехода на следущей уровень?И как это сделать?Прошу помогите!!!!!!!
@@demonstalker_game_developer Создаешь отдельные скрипты для каждого характеристики и сохраняешь.Купи курсы по этому делу и всё выучи, а то так ты будешь долго мучаться
Привет, помоги пожалуйста, Как сделать чтобы если человек нажимал на закрытый уровень высвечивалась надпись (сначало пройди преведущий уровень) Как так сделать ведь если делать как ты, то кнопка не активна??
Привет. Смотри, кнопку надо сделать кликабельной, но она должны выполнять запуск текста, а не переход на следующий уровень, пока мы этот уровень не откроем.
Привет, мне нравится, только вот... При прохождении уровня кидает в меню, а также при прохождении уровня не открывается след. уровень. В билде сцены добавлены.
@@graphicaldesign2776 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class LevelController : MonoBehaviour { public static LevelController inctance = null; int sceneIndex; int levelComplete; // Start is called before the first frame update void Start() { if (inctance == null) { inctance = this; } sceneIndex = SceneManager.GetActiveScene().buildIndex; levelComplete = PlayerPrefs.GetInt("LevelComplete"); } public void isEndGame() { if (sceneIndex == 5) { Invoke("LoadMainMenu", 1f); } else { if (levelComplete < sceneIndex) PlayerPrefs.SetInt("LevelComplete", sceneIndex); Invoke("NextLevel", 1f); } } void NextLevel() { SceneManager.LoadScene(sceneIndex + 1); } void LoadMainMenu() { SceneManager.LoadScene("MainMenu"); } } using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class MainMenu : MonoBehaviour { public Button level2; public Button level3; public Button level4; public Button level5; int levelComplete; void Start() { levelComplete = PlayerPrefs.GetInt("LevelComplete"); level2.interactable = false; level3.interactable = false; level4.interactable = false; level5.interactable = false; switch (levelComplete) { case 1: level2.interactable = true; break; case 2: level2.interactable = true; level3.interactable = true; break; case 3: level2.interactable = true; level3.interactable = true; level4.interactable = true; break; case 4: level2.interactable = true; level3.interactable = true; level4.interactable = true; level5.interactable = true; break; } } public void LoadTo(int level) { SceneManager.LoadScene(level); } когда уровень прошёл, новый не открывается((
у меня возникли проблемы, если я прохожу первый уровень ивыхожу в меню, то казалось бы всё норм, но если опять зайти в первый уровень, то он не перенесёт тебя на второй после прохождения
В этом методе есть огромная ошибка. У меня всего 5 уровней. Если все 5 уровней открыты и я в сцене уровней выбираю 2-ой, прохожу его и возвращаюсь на сцену с уровнями, то 4 и 5 вновь будут заблокированы.
Все работает но! У меня не открывается 1-й уровень Изменение: Все работает!! Спасибо!!! Просто первый уровень нужно в build setting поставить под цифру 1
@@ReyKapcher ну, тут год прошёл, поэтому я немного переосмыслил массивы, лучше List использовать - во первых. Во вторых, можно просто залочить все и разлочить один. Я бы сделал класс Reseter, в котором будет список из ResetRule, и при Reset() будет вызываться Reset() объектов из списка. Например, LevelResetRule при вызове Reset() залочит все, а потом разлочит первые 3. Уровни можно передать через конструктор. Так бы сделал я, поэтому это может быть не самым лучшим решением, но меня бы полностью устроило.
@@graphicaldesign2776 Можно, скрипт....Уже один полетел, когда создавал новый скрипт (из-за того что юнька не хотела его ставить) и забыл что скрипт у меня скопирован, а потом ещё и название скопировал, в итоге самый длиный скрипт с контролером полетел в помойку моей рассеянности(((( + не хочу опять писать скрипт 20 минут и потом столько же испровлять(
Уже не первый раз твои видео помогают решить мои задачи. Причем это простые решения, доступные начинающим программистам. Спасибо.
Неее :)) ну это уже гайд не о том как сделать сохранение чего либо, а о том, как сделать игру. :) В этом обучающем видео ты сделал мини-игру, которую нужно чуть-чуть допилить и сделать уровни с препятствиями, и игра готова!
Гайд отличный, спасибо большое!
Огромное спасибо, все работает. Достаточно давно смотрю тебя и все время ты меня выручаешь. Спасибо тебе большое за все!)
Спасибо за урок, даже на сегодняшний день актуально)
Просто лучший, спасибо огрмное,все просто обьясняяеться а главное все работает. Определенно лайк!!!
Спасибо огромное, у меня игра кликер конечно с разными уровнями, но очень помог
Я просто вместо приватного класса сделал его публичным и добавил на кнопку, чтобы он на нажатие сохранял и всё работает отлично
Спасибо огромное
а как вы сделали чтобы по нажатию сохранялось и переходило на новый уровень?я тоже вместо private сдулал public только не onTrigerEnter2D а Button
Спасибо огромное, моей игре именно этого и не хватало!!
Стёпа Мопа моей тоже кста)
Видео прям в мою днюху выложил, как раз нужно)
Через четыре дня отчаяние...Оно живое!!!
Жаль что стрельба по направлению мыши не так и не получилась, но да ладно!)))
Огромная благодарность автору!
всё работает крут вчера наверно чтот не так сделал спасибо огромно
Спасибо тебе большое за этот ролик! Как раз то, что нужно! :)🙂👍
Большое спасибо за урок!
Фух, 4 часа продуктивной работы.
Правда на моменте instate я убил почти час, из-за того что просто не посмотрел видео на секунд 20 дольше 😖. Правда у меня почему-то не сохраняется прогресс🤔, но пожалуй пересмотрю для проверки первую половину в другой день
Всё ясно и понятно объяснил, бро)
Спасибо большое, очень помог.
ОЧЕНЬ ПОЛЕЗНЫЕ ВИДЕО!!!)
Проектирование далеко не самое лучшее, чесно говоря. В данном случае - вопросов нет: когда у тебя 3 уровня, такая архитектура имеет место быть. Но когда их 100, стоит задуматся. И прикрываться, что это урок для чайников - тоже дело смутное. Учите с самого начала, как делать правильно и качественно.
А как правильно? Где посмотреть? Ютуб полон таких вот поделок дилетантов, а хороших решений не найти.
@@aleksey2793 Это проблема любой темы. Как правило спасает англоязычные ресурсы. Там всегда больше информации и уровнем она повыше.
Вопрос: а хранение большого количества уровней таким способом целесообразно? Если например уровней будет несколько сотен, или даже тысяч, как в игре Fishdom, тогда как?
Спасибо, просто лучший(Никогда коменты не пишу)
Cпасибо огромное!
наверно лучший аккаунт для начинающих разработчиков
Можно сделать по другому: делаем лист кнопок с уровнем; в переменную типа int из PlayerPrefs берем количество открытых уровней; в методе старт мы делаем цикл от нуля до количества открытых уровней и внутри цикла делаем interactable = true
слушай, я так и сделал только у меня все уровни разблокироваются, а если вместо interactable = true, написать interactable = false, то все уровни кроме первого лочатся, что я делаю не так, можешь помочь?
1 минус( с 1 уровень перескакивает на 2 сразу без нажатия клавиш)в чём причина????
Супер!
код по архитектуре не корректен, как ты будешь контролировать если будет 1000 уровней или 5000, ты будешь каждый уровень писать в if и проверять ?? Понятно что твой контент для новичков , но код надо изначально правильно организовывать, а то так и будут недоучки и понимать не будут где косяк . если рассматривать как Unity уроки для детей то вопросов нет
А как это лучше сделать
@@ТатьянаТкач-о6п через цикл for проверять.
Логично
@World War Memes на самом деле там не такая сложная задача как тебе кажется, просто в цикле for есть переменная i по умолчанию и ты можешь с помощью неё проверять каждый уровень. К примеру переменная i номер уровня в цикле и если она будет меньше открытых уровней то уровень будет разблокироваться.
@@unitycraftzone5888 А можно об этом поподробнее если не сложно? Как именно прописывать код что бы уровни разблокировались постепенно?
огромное спасибо за это видио.оно сильно улучшило мой проект!
огонь!
Спасибо большое
Ей парень спасибо за видос как и всегда спас мою проблемную жопу,лайкос)
А если перезапускать проект в сцене, то изменения сохраняються?
Привет, слушай, у меня такая проблема, все сдела как на видео, но когда переходит на следующий уровень, а потом ты переходишь в меню, то уровни не сохраняются, можешь ответить?
Изменено: Все работает, я заного сделал кейсы
А как ты решил эту проблему?
+
@@ВикторФедоренко-ж7ь если у вас есть дополнительные сцены, то поменяйте кейсы на сцены, в которых сцены которые вы хотите, т.е цифры.
Если у вас сцена например "2" с самой игрой, то указываете в первом кейсе 2
@@ВикторФедоренко-ж7ь возможно у вас как у меня, в скрипте левел контроллер могут быть слова с маленькой, а не с большой буквы
Если сделать как надо большой, то всё сохраниься
@@RivaKing я уже решил проблему, но вы правы у меня тоже с маленькой буквы было написано.
Привет, можешь сделать видео по стрельбе, со слежением(поворотом) оружия за курсором мыши?
окей
@@graphicaldesign2776 не, ну это лайк, подписка, колокольчик с ещё одного аккаунта)
привет ещё раз, скажи пожалуйста я прописал
if (instance == null)
{
instance = this;
}
но так же меня не переносит на следующий уровень почему?
Сцену с первым уровнем в билд сетингс перенеси на цыфру 1
Помогите с таким вопросом.
Вот у меня выбор уровней начинается со 2 сцены.
И тоже 3 уровня.
И вот если делать по этому примеру, работает всё кроме сохранения уровней.
Что мне нужно изменить чтоб уровни сохранялись?
Должно работать. Значит что-то делаешь не так.
@@graphicaldesign2776 спасибо за ответ.
Ну я решил проблему.
Сделав уровни не во 2 сцене, а в 1.
Тока теперь при нажатие старт меняется картина на уровни, а не на сцену с уровнями😅
Подскажите почему уменя такие большие кнопки делал все не получается менял размер, т тоже не получается, что делать?
Спасибо
Здравствуйте, у меня лвл сделан так что у меня самолёт летит вверх и убивает противников лазером, как сделать финишную прямую после всех противников?
сделай спрайт финишной прямой (в видео это солнышко) и когда твой самолётик зацепит триггер то что бы кидало на второй лвл
Странно! Вроде все зделал как на видео но все равно не работает😭. Ошибки не выдаёт
Здравствуйте, подскажите а как можно сделать разблокировку следующего уровня, не по тригеру а по нажатию на кнопку?
!ПОМОГИТЕ!
Пишет:
NullReferenceException: Object reference not set to an instance of an object
NextLevel.OnTriggerEnter (UnityEngine.Collider collider) (at Assets/Scripts/ChooseLV/NextLevel.cs:9)
Что делать?
Вы чего то не вставили в публичную переменную
Подскажи, как сохранить на сцене обьект, который я загрузил из asset bundle. он появляется с пометкой clone и потом исчезает после перезагрузки приложения
Вопрос я понимаю что ты скорее всего не ответишь, но я постараюсь достучаться "Что делать если после прохождения 3 lvl автоматом Reset нажимается хоть и я этого не хочу?" я код раза 4 пересмотрел.
что-то сделал не так
Привет, ты решение нашел? А то у меня чёт тоже такая фигня.
Сильно все усложненно...можно сделать всё намного проще...если у меня сто уровней например...я с ума сойду пока все сделаю по вашему методу
Ты дурак?просто скопируй case 1 и цыфры меняй на case два и цыфры кнопок уровней.И все.
Нет ты дурак!Скрипт для того что бы все выполнять автоматом а не каждый раз это делать ручками.
@@FreeCoinsChannel Да,с тобой тоже все понятно.
@@kitkyte7126 в очередной раз убеждаюсь что в интернете очень много неадекватов
@@FreeCoinsChannel ну да таких как ты.
Error CS0117: `LevelController' does not contain for `instance'
Как исправить?
Добавь в классе MainMenu свойство public static MainMenu instance = null; а в функцию старт добавь условие
if (instance == null) { instance = this;}
Привет, подскажи, пожалуйста, из-за чего кнопки не переносятся в окошки уровней.
Привет, вопрос такой, при переходе на второй уровень и выходе из него, открываются и остальные уровни, в чем может быть проблема?
Не понимаю,как заменить Триггер, на простой клик по объекту, чтобы переключаться на следующий уровень. Помогите, пожалуйста.
не сохраняет результат. как быть? что делать?? подскажите пожалуйста, в чем может быть проблема. все кроме первого уровня не доступны. Мне кажется проблемы с switch. Проверьте пожалуйста.
levelComplete = PlayerPrefs.GetInt("LevelComplete");
ButtonLevel2.interactable = false;
ButtonLevel3.interactable = false;
ButtonLevel4.interactable = false;
ButtonLevel5.interactable = false;
switch (levelComplete)
{
case 1:
ButtonLevel2.interactable = true;
break;
case 2:
ButtonLevel2.interactable = true;
ButtonLevel3.interactable = true;
break;
case 3:
ButtonLevel2.interactable = true;
ButtonLevel3.interactable = true;
ButtonLevel4.interactable = true;
break;
case 4:
ButtonLevel2.interactable = true;
ButtonLevel3.interactable = true;
ButtonLevel4.interactable = true;
ButtonLevel5.interactable = true;
break;
}
}
public void LoadTo(int level)
{
SceneManager.LoadScene(level);
слишком много кейсов, либо удаляешь НАФИГ проект, либо убераешь кейсы
Проект не удаляй проблема в скриптах
Ты добавил лишнее действие
levelComplete = PlayerPrefs.GetInt("LevelComplete");
ButtonLevel2.interactable = false;
ButtonLevel3.interactable = false;
ButtonLevel4.interactable = false;
ButtonLevel5.interactable = false;
switch (levelComplete)
{
case 1:
ButtonLevel2.interactable = true;
break;
case 2:
ButtonLevel2.interactable = true;
ButtonLevel3.interactable = true;
break;
case 3:
ButtonLevel3.interactable = true;
ButtonLevel4.interactable = true;
break;
case 4:
ButtonLevel4.interactable = true;
ButtonLevel5.interactable = true;
break;
}
}
public void LoadTo(int level)
{
SceneManager.LoadScene(level);
PS: пхпхх конечно прошло 3 года уже, но вдруг помог)
Привет, а как сделать так чтобы уже пройденые уровеи можно было перепройти, там когда уровень заново проходишь не загружается следующей
Ошибка CS0120 Для нестатического поля, метода или свойства "LevelController.instance" требуется ссылка на объект.
что делать с такой ошибкой
ошибка тут
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NextLevel : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D collision)
{
LevelController.instance.isEndGame();
}
}
У меня также, решил проблему?
@@no_more_dusty_trip мог бы ещё годик подождать и написать
@@kelni Блин просто очень нужно
Что делать если при проверке скрипта юнити пишет что ты не написал использование библиотек для int и interactable, хотя ты написал использование. Можно ли как-то исправить скрипт или загрузить библиотеки в юнити? Или может есть другой скрипт без int
Полный ужас, всё сделал и уровни рестарт сами делают, кучу времени пытался решить эту проблему, ни чего не помогало. Но вдруг заметил что в скрипте МайнМеню LevelComplete с маленькой буквы,. С*ка. Капец, просто нет слов,. Урок отличный, спасибо.
Спасибо я без тебя бы долго мучился
Где именно?
Супер, помогают видосы, подписка и лайк
Всё сделал как на видео, но у меня после прохождения следующие уровни не становятся доступными
нашел причину?
@@Alex-cx6ny Ушёл из программирования
А если у меня не 3 уровня ,а 100 или более? Мне каждый раз писать новый case и добавлять в него один уровень?
А как сделать кнопку сброса прогреса?
Спасибо большое, а если например пройти 2 уровня, и выйти, а потом обратно в игру зайти то прогресс сохраниться?
Так
Graphical Design можно вопрос.А можно ли зделать колайдер и поставить галочку на Trigger и тем самым зделать невидимый колайдер для перехода на следущей уровень?И как это сделать?Прошу помогите!!!!!!!
Перенеси по слоям, он будет работать, но его не будет видно, можешь использовать Sorting слои
@@cuver5595 спасибо я уже давно все сделал но спасибо что ответил
Как называется музыка фоновая?
Подскажи как сделать, чтобы открытие уровней происходило по нажатию кнопки. Нажал на кнопку Вышла сценами с уровнями и новый уровень стал активным
При создании метода LoadTo вылазит ошибка что его нельзя сделать public
Все работает, но когда прохожу последний у меня открыт только 1 уровень
открывай уровни после прохождения и загружай открытые уровни в старте
@@omoloni всмысле? Не очень понял
Разобрался? У меня такая же проблема
@@бебранюх-и3р нет, не разобрался.
@@бебранюх-и3р когда проходишь уровень, то сразу открывай следующий и сохраняй в плеер префс, а в меню каждый раз загружай из плеер префс
Добрый день. Если я прошёл 2 уровня и допустим хочу не проходить 3 ,а пройти 2 опять как так сделать?
Поставить перезагрузку текущего уровня
@@graphicaldesign2776 Чет оно не работает,если не сложно напиши по подробнее.
@@graphicaldesign2776 а как это сделать?
Здравствуйте! А можно сделать видео, где подробно рассказать про Save?
demonstalker show что значит «подробно»?
@@graphicaldesign2776 Я имел ввиду, как полностью сохранять весь процесс игры, включая характеристики игрока, деньги и т.д. И как потом это загружать!
@@demonstalker_game_developer Создаешь отдельные скрипты для каждого характеристики и сохраняешь.Купи курсы по этому делу и всё выучи, а то так ты будешь долго мучаться
@@demonstalker_game_developer на канале есть видео посмотри (у Автора а не у меня)
Все работает но почему то пройденные уровни не сохраняются что делать ?
што делать если после уровня захожу в меню а оно не работает
Уровни не сохраняются,если перезапустить игру на телефоне,как решить проблему?
Такая же проблема
@@hakerrulit5824 @@hakerrulit5824 помогу,Создаёшь Void OnApplicationQuit() { и сюда пишешь PlayerPrefs.SetInt("LevelComplete", sceneindex);
}
@@tomizz4406 Спасибо, надеюсь поможет
@@tomizz4406 всё равно не сохраняет(
А можно как нибудь сделать так, чтобы в при переходе, допустим, на новую главу менялся фон?
@@DL_Tech Если честно я уже сам не очень помню по поводу чего был задан мной данный вопрос)
Спасибо, очень полезньій урок!
Привет, помоги пожалуйста, Как сделать чтобы если человек нажимал на закрытый уровень высвечивалась надпись (сначало пройди преведущий уровень) Как так сделать ведь если делать как ты, то кнопка не активна??
Привет. Смотри, кнопку надо сделать кликабельной, но она должны выполнять запуск текста, а не переход на следующий уровень, пока мы этот уровень не откроем.
@@graphicaldesign2776 Спасибо, но что нужно поменять в скрипте или нужно его кардинально менять или делать свой
@@graphicaldesign2776 просто на ютубе я такого не нашёл, даже на англоязычных каналах лазил, может я плохо искал?
@@graphicaldesign2776 будем благодарны если сделаете видео
@@graphicaldesign2776 я тоже с ними согласен, запили ролик на эту тему и ещё про оптимизацию игры на андроид
Не сохраняет результат
Привет, мне нравится, только вот... При прохождении уровня кидает в меню, а также при прохождении уровня не открывается след. уровень. В билде сцены добавлены.
Так, при прохождении уровня кидает на след лвл, но в меню они заблокированы всё равно, что делать?
Спасибо, Бро! Шикарный урок! Не забудь доделать видео про ИНВЕНТАРЬ(подбор/сброс предметов Персонажем)!!!!! ^_^
Что ты тут делаешь? Вот тебя я точно не ожидал здесь увидеть!
@@Semga Мне интересно, как люди делают игры. Я смотрю такие видео. Может, когда-нибудь, сделаю свою игру...но не факт :)
@@YOURREST я вот уже вроде второй месяц этому учусь)
Можно скрипт? у меня не кнопки у меня картинки с box collider и скрипт тип если нажал переносит на такую сцену
сделал всё также, ошибка Trying to Invoke method: LevelController.LoadMainMenu couldn't be called. Подскажи пожалуйста, что делать
Проверить еще раз скрипт, пишет, что нет доступа к вызова именно загрузки меню
@@graphicaldesign2776 я нашёл ошибку, я написал OnMainMenu, вместо LoadMainMenu
Отлично)
@@graphicaldesign2776 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class LevelController : MonoBehaviour
{
public static LevelController inctance = null;
int sceneIndex;
int levelComplete;
// Start is called before the first frame update
void Start()
{
if (inctance == null)
{
inctance = this;
}
sceneIndex = SceneManager.GetActiveScene().buildIndex;
levelComplete = PlayerPrefs.GetInt("LevelComplete");
}
public void isEndGame()
{
if (sceneIndex == 5)
{
Invoke("LoadMainMenu", 1f);
}
else
{
if (levelComplete < sceneIndex)
PlayerPrefs.SetInt("LevelComplete", sceneIndex);
Invoke("NextLevel", 1f);
}
}
void NextLevel()
{
SceneManager.LoadScene(sceneIndex + 1);
}
void LoadMainMenu()
{
SceneManager.LoadScene("MainMenu");
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class MainMenu : MonoBehaviour
{
public Button level2;
public Button level3;
public Button level4;
public Button level5;
int levelComplete;
void Start()
{
levelComplete = PlayerPrefs.GetInt("LevelComplete");
level2.interactable = false;
level3.interactable = false;
level4.interactable = false;
level5.interactable = false;
switch (levelComplete)
{
case 1:
level2.interactable = true;
break;
case 2:
level2.interactable = true;
level3.interactable = true;
break;
case 3:
level2.interactable = true;
level3.interactable = true;
level4.interactable = true;
break;
case 4:
level2.interactable = true;
level3.interactable = true;
level4.interactable = true;
level5.interactable = true;
break;
}
}
public void LoadTo(int level)
{
SceneManager.LoadScene(level);
}
когда уровень прошёл, новый не открывается((
почему OnTriggerEnter2D не работает?
Благодарю за урок! :)
А как называется саундтрек который используется вначале и конце видео?
Как можно сделать так чтоб он сначала ишол в меню и только после начал новый уровень.Хотелось бы увидеть видео про чекпоинты в уровне))
Создать просто разные сцены.
Добрый день, у меня есть проблема, 1 уровень ничинает 2 через 3 секунды
Спасибо большое автору !!!
А если 100 уровней?)
как с вами можно связаться?
Комменты открыты)
А можно сделать код без английского языка? Просто я не знаю английский язык. Можно или нет?
нельзя хахаха, сорян но насколько я знаю то ВСЕ языки программирования на английском языке и C# не исключение.
у меня возникла проблема когда в SceneIndex == 3 я пишу == 4 меня не переносит по уровням при этом сцена 4 активна
может в build setting ты не добавил 4 сцену оибо не указал в скрипте что у тебя есть 4 сцена ?
у меня не получилось я прошло 3 уровня но ничего не открылось
у меня такая же шурара, если решил проблему можешь подсказать где ошибка?
@@Volcano_channel привет решил проблему?
@@konstantinmelnik7309 не
Ребят, подскажите что делать, такая проблема: Прохожу последний уровень, перекидывает в меню, но открыта только кнопка первого уровня. Почему?
Баги
Вверху есть уже ответ в комментариях
Топ
у мнея ошибка в iaEndGame помогите пожалуйста
Работает! спасибо огромное,помогли😀
Логично, логично, логично, логично...
у меня возникли проблемы, если я прохожу первый уровень ивыхожу в меню, то казалось бы всё норм, но если опять зайти в первый уровень, то он не перенесёт тебя на второй после прохождения
а я понял свою ошибку, я Invoke на 15:43 ничайно в функцию if записал
@@sashikshik Я целый час не вдуплял, почему после первого раза оно не работает. Листал комменты в надежде на спасение, оказалось то же самое. Спасибо!
@@Minusgolovushka ахаха круто! Не думал, что найдётся ещё один человек с такой же проблемой)
@@sashikshik моя невнимательность меня в гроб сведёт)))
Оу еее, юнити энджАЙн
В этом методе есть огромная ошибка.
У меня всего 5 уровней.
Если все 5 уровней открыты и я в сцене уровней выбираю 2-ой, прохожу его и возвращаюсь на сцену с уровнями, то 4 и 5 вновь будут заблокированы.
А если в игре 999 уровней?
Все работает но! У меня не открывается 1-й уровень
Изменение:
Все работает!! Спасибо!!! Просто первый уровень нужно в build setting поставить под цифру 1
Хух спс за решение было тоже самое
Советую делать кнопки через массивы
у меня кнопки объявлены через массивы, но я не понимаю как тогда в Reset указать какие кнопки должны залочится
Можете помочь?
@@ReyKapcher ну, тут год прошёл, поэтому я немного переосмыслил массивы, лучше List использовать - во первых. Во вторых, можно просто залочить все и разлочить один.
Я бы сделал класс Reseter, в котором будет список из ResetRule, и при Reset() будет вызываться Reset() объектов из списка. Например, LevelResetRule при вызове Reset() залочит все, а потом разлочит первые 3. Уровни можно передать через конструктор. Так бы сделал я, поэтому это может быть не самым лучшим решением, но меня бы полностью устроило.
@@khodis2002 понятно, спасибо
Assets\script
extLevel.cs(9,34): error CS0122: 'LevelController.isEndGame()' is inaccessible due to its protection level мод кажи що робити
С чем?
Воно каже що нема isEndGame в nextLevel
Ошибка
cs0103 Имя "Тут пишет такие слова как: sceneIndex,instance,invoke" не существует в текущем контексте.
похоже на лажу с переменными
@@graphicaldesign2776 Можно, скрипт....Уже один полетел, когда создавал новый скрипт (из-за того что юнька не хотела его ставить) и забыл что скрипт у меня скопирован, а потом ещё и название скопировал, в итоге самый длиный скрипт с контролером полетел в помойку моей рассеянности((((
+ не хочу опять писать скрипт 20 минут и потом столько же испровлять(
А как сделать на 30 сцен
Здравствуйте, сделал все как на видео, все вроде работает, однако, я нажад на кнопку ресет и все больге ничего не работает
у меня привязон esc как выход в главное меню
Возможно, стоит очистить ключи.
@@graphicaldesign2776 я поискал как это сделать, однако ничего не понял(
@@graphicaldesign2776 все проблему решил, извините