Сохранение открытых уровней в Unity

Поділитися
Вставка
  • Опубліковано 23 лип 2019
  • В этом уроке я покажу, как достаточно просто можно сохранять прогресс открытия уровней в Unity. Использовать будем метод PlayerPrefs для сохранения данных на жесткий диск в реестры.
    • PlayerPrefs в Unity - ... - что такое PlayerPrefs
    / graphicaldesignua - мой патреон для поддержки)
    unity.com/ru - ссылка на Unity

КОМЕНТАРІ • 270

  • @user-ih5tk8ho4k
    @user-ih5tk8ho4k 4 роки тому +5

    Огромное спасибо, все работает. Достаточно давно смотрю тебя и все время ты меня выручаешь. Спасибо тебе большое за все!)

  • @daddycanstudio7506
    @daddycanstudio7506 4 роки тому +21

    Уже не первый раз твои видео помогают решить мои задачи. Причем это простые решения, доступные начинающим программистам. Спасибо.

  • @vladimirkraft7076
    @vladimirkraft7076 2 роки тому

    Спасибо тебе большое за этот ролик! Как раз то, что нужно! :)🙂👍

  • @Timur_Katsaev
    @Timur_Katsaev 4 роки тому +1

    Всё ясно и понятно объяснил, бро)
    Спасибо большое, очень помог.

  • @ArtemKhattin
    @ArtemKhattin 4 роки тому

    Большое спасибо за урок!

  • @VladikFoxGames
    @VladikFoxGames 2 роки тому

    Огромная благодарность автору!

  • @SliverRus
    @SliverRus 3 роки тому +8

    Неее :)) ну это уже гайд не о том как сделать сохранение чего либо, а о том, как сделать игру. :) В этом обучающем видео ты сделал мини-игру, которую нужно чуть-чуть допилить и сделать уровни с препятствиями, и игра готова!
    Гайд отличный, спасибо большое!

  • @Densoll
    @Densoll 9 місяців тому

    Спасибо за урок, даже на сегодняшний день актуально)

  • @user-nf3je6by1n
    @user-nf3je6by1n 5 років тому +2

    Спасибо огромное, моей игре именно этого и не хватало!!

    • @ballstik_
      @ballstik_ 4 роки тому +1

      Стёпа Мопа моей тоже кста)

  • @orestqq
    @orestqq 4 роки тому

    ОЧЕНЬ ПОЛЕЗНЫЕ ВИДЕО!!!)

  • @BroChannel1
    @BroChannel1 4 роки тому +10

    Видео прям в мою днюху выложил, как раз нужно)

  • @user-xh8dk4ov7e
    @user-xh8dk4ov7e Рік тому

    Просто лучший, спасибо огрмное,все просто обьясняяеться а главное все работает. Определенно лайк!!!

  • @RivaKing
    @RivaKing 4 роки тому +3

    Спасибо огромное, у меня игра кликер конечно с разными уровнями, но очень помог
    Я просто вместо приватного класса сделал его публичным и добавил на кнопку, чтобы он на нажатие сохранял и всё работает отлично
    Спасибо огромное

    • @simbatv7588
      @simbatv7588 2 роки тому

      а как вы сделали чтобы по нажатию сохранялось и переходило на новый уровень?я тоже вместо private сдулал public только не onTrigerEnter2D а Button

  • @UATeam662
    @UATeam662 4 роки тому +1

    всё работает крут вчера наверно чтот не так сделал спасибо огромно

  • @karpa2895
    @karpa2895 5 років тому +2

    Через четыре дня отчаяние...Оно живое!!!
    Жаль что стрельба по направлению мыши не так и не получилась, но да ладно!)))

  • @user-jj5jo1ff7h
    @user-jj5jo1ff7h 2 роки тому +4

    Вопрос: а хранение большого количества уровней таким способом целесообразно? Если например уровней будет несколько сотен, или даже тысяч, как в игре Fishdom, тогда как?

  • @yuriisurzhikov
    @yuriisurzhikov 5 років тому

    Супер!

  • @farmobus1007
    @farmobus1007 3 роки тому +1

    огромное спасибо за это видио.оно сильно улучшило мой проект!

  • @daniil_shpilkin
    @daniil_shpilkin Рік тому

    Cпасибо огромное!

  • @UATeam662
    @UATeam662 4 роки тому +4

    1 минус( с 1 уровень перескакивает на 2 сразу без нажатия клавиш)в чём причина????

  • @pppva2667
    @pppva2667 3 роки тому

    Что делать если при проверке скрипта юнити пишет что ты не написал использование библиотек для int и interactable, хотя ты написал использование. Можно ли как-то исправить скрипт или загрузить библиотеки в юнити? Или может есть другой скрипт без int

  • @belengergames6797
    @belengergames6797 2 роки тому

    Спасибо большое

  • @Kota-Kombo-876
    @Kota-Kombo-876 4 роки тому

    Подскажи, как сохранить на сцене обьект, который я загрузил из asset bundle. он появляется с пометкой clone и потом исчезает после перезагрузки приложения

  • @supin_dimas7708
    @supin_dimas7708 4 роки тому +4

    Фух, 4 часа продуктивной работы.
    Правда на моменте instate я убил почти час, из-за того что просто не посмотрел видео на секунд 20 дольше 😖. Правда у меня почему-то не сохраняется прогресс🤔, но пожалуй пересмотрю для проверки первую половину в другой день

  • @AlarikTraves
    @AlarikTraves 4 роки тому

    Привет, вопрос такой, при переходе на второй уровень и выходе из него, открываются и остальные уровни, в чем может быть проблема?

  • @channelofmaks9505
    @channelofmaks9505 4 роки тому +1

    Подскажите почему уменя такие большие кнопки делал все не получается менял размер, т тоже не получается, что делать?

  • @simbatv7588
    @simbatv7588 2 роки тому

    Здравствуйте, подскажите а как можно сделать разблокировку следующего уровня, не по тригеру а по нажатию на кнопку?

  • @dastankappassov
    @dastankappassov 3 роки тому +2

    Всё сделал как на видео, но у меня после прохождения следующие уровни не становятся доступными

  • @vladios_vladios
    @vladios_vladios Рік тому

    огонь!

  • @user-cq2nb6zr9k
    @user-cq2nb6zr9k 3 роки тому +20

    Проектирование далеко не самое лучшее, чесно говоря. В данном случае - вопросов нет: когда у тебя 3 уровня, такая архитектура имеет место быть. Но когда их 100, стоит задуматся. И прикрываться, что это урок для чайников - тоже дело смутное. Учите с самого начала, как делать правильно и качественно.

    • @aleksey2793
      @aleksey2793 Рік тому

      А как правильно? Где посмотреть? Ютуб полон таких вот поделок дилетантов, а хороших решений не найти.

    • @No_Name07050
      @No_Name07050 Рік тому +2

      @@aleksey2793 Это проблема любой темы. Как правило спасает англоязычные ресурсы. Там всегда больше информации и уровнем она повыше.

  • @robertoperfectoua
    @robertoperfectoua 4 роки тому +1

    Супер, помогают видосы, подписка и лайк

  • @gamrets4352
    @gamrets4352 2 роки тому

    Привет, а как сделать так чтобы уже пройденые уровеи можно было перепройти, там когда уровень заново проходишь не загружается следующей

  • @mix-red3709
    @mix-red3709 4 роки тому +2

    Ей парень спасибо за видос как и всегда спас мою проблемную жопу,лайкос)

  • @followyoudown2282
    @followyoudown2282 3 роки тому

    Не понимаю,как заменить Триггер, на простой клик по объекту, чтобы переключаться на следующий уровень. Помогите, пожалуйста.

  • @pokusandro
    @pokusandro 3 роки тому

    Подскажи как сделать, чтобы открытие уровней происходило по нажатию кнопки. Нажал на кнопку Вышла сценами с уровнями и новый уровень стал активным

  • @timofei9676
    @timofei9676 5 років тому

    Спасибо

  • @sio2317
    @sio2317 3 роки тому +1

    спасибо

  • @orb1talyx47
    @orb1talyx47 3 роки тому

    А если у меня не 3 уровня ,а 100 или более? Мне каждый раз писать новый case и добавлять в него один уровень?

  • @theolegshow7545
    @theolegshow7545 Рік тому

    Спасибо, просто лучший(Никогда коменты не пишу)

  • @L7kyyy
    @L7kyyy 4 роки тому +3

    Error CS0117: `LevelController' does not contain for `instance'
    Как исправить?

    • @md5Stepan
      @md5Stepan 4 роки тому

      Добавь в классе MainMenu свойство public static MainMenu instance = null; а в функцию старт добавь условие
      if (instance == null) { instance = this;}

  • @RunBull
    @RunBull 2 роки тому

    наверно лучший аккаунт для начинающих разработчиков

  • @alegor5530
    @alegor5530 4 роки тому +2

    привет ещё раз, скажи пожалуйста я прописал
    if (instance == null)
    {
    instance = this;
    }
    но так же меня не переносит на следующий уровень почему?

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      Сцену с первым уровнем в билд сетингс перенеси на цыфру 1

  • @bubishev6376
    @bubishev6376 2 роки тому

    Спасибо, очень полезньій урок!

  • @user-qq3zk4fv9j
    @user-qq3zk4fv9j 2 роки тому

    Спасибо за урок!!! 🦊

  • @dastankappassov
    @dastankappassov 3 роки тому

    Как называется музыка фоновая?

  • @likater5587
    @likater5587 2 роки тому

    Работает! спасибо огромное,помогли😀

  • @veymz
    @veymz 4 роки тому +2

    Странно! Вроде все зделал как на видео но все равно не работает😭. Ошибки не выдаёт

  • @s1zleek_229
    @s1zleek_229 4 роки тому

    Можно скрипт? у меня не кнопки у меня картинки с box collider и скрипт тип если нажал переносит на такую сцену

  • @user-ew5ih8hn6w
    @user-ew5ih8hn6w 4 роки тому +2

    Можно сделать по другому: делаем лист кнопок с уровнем; в переменную типа int из PlayerPrefs берем количество открытых уровней; в методе старт мы делаем цикл от нуля до количества открытых уровней и внутри цикла делаем interactable = true

    • @ReyKapcher
      @ReyKapcher 2 роки тому +1

      слушай, я так и сделал только у меня все уровни разблокироваются, а если вместо interactable = true, написать interactable = false, то все уровни кроме первого лочатся, что я делаю не так, можешь помочь?

  • @LadyNiaka
    @LadyNiaka 3 роки тому +1

    Здравствуйте, у меня лвл сделан так что у меня самолёт летит вверх и убивает противников лазером, как сделать финишную прямую после всех противников?

    • @KraGenGames
      @KraGenGames 3 роки тому

      сделай спрайт финишной прямой (в видео это солнышко) и когда твой самолётик зацепит триггер то что бы кидало на второй лвл

  • @Max-ex9rd
    @Max-ex9rd 4 роки тому

    Добрый день, у меня есть проблема, 1 уровень ничинает 2 через 3 секунды

  • @spike_youtube28
    @spike_youtube28 8 місяців тому

    А как сделать кнопку сброса прогреса?

  • @mrminecrafter3829
    @mrminecrafter3829 3 роки тому

    Спасибо большое автору !!!

  • @Van48421
    @Van48421 5 років тому

    Топ

  • @sembarinbom620
    @sembarinbom620 4 роки тому +1

    Помогите с таким вопросом.
    Вот у меня выбор уровней начинается со 2 сцены.
    И тоже 3 уровня.
    И вот если делать по этому примеру, работает всё кроме сохранения уровней.
    Что мне нужно изменить чтоб уровни сохранялись?

    • @graphicaldesign2776
      @graphicaldesign2776  4 роки тому

      Должно работать. Значит что-то делаешь не так.

    • @sembarinbom620
      @sembarinbom620 4 роки тому

      @@graphicaldesign2776 спасибо за ответ.
      Ну я решил проблему.
      Сделав уровни не во 2 сцене, а в 1.
      Тока теперь при нажатие старт меняется картина на уровни, а не на сцену с уровнями😅

  • @user-ob2ge3ig7o
    @user-ob2ge3ig7o 3 роки тому

    Спасибо большое, а если например пройти 2 уровня, и выйти, а потом обратно в игру зайти то прогресс сохраниться?

  • @user-br9oe3bx4h
    @user-br9oe3bx4h 2 роки тому

    Все работает но почему то пройденные уровни не сохраняются что делать ?

  • @VLADGOGame
    @VLADGOGame 5 місяців тому

    у меня возникла проблема когда в SceneIndex == 3 я пишу == 4 меня не переносит по уровням при этом сцена 4 активна

  • @DmytroHor
    @DmytroHor Рік тому

    што делать если после уровня захожу в меню а оно не работает

  • @no_more_dusty_trip
    @no_more_dusty_trip Рік тому +1

    !ПОМОГИТЕ!
    Пишет:
    NullReferenceException: Object reference not set to an instance of an object
    NextLevel.OnTriggerEnter (UnityEngine.Collider collider) (at Assets/Scripts/ChooseLV/NextLevel.cs:9)
    Что делать?

    • @xdl_production
      @xdl_production Рік тому

      Вы чего то не вставили в публичную переменную

  • @khodis2002
    @khodis2002 3 роки тому

    Оу еее, юнити энджАЙн

  • @vertexishere
    @vertexishere Рік тому

    При создании метода LoadTo вылазит ошибка что его нельзя сделать public

  • @MusicFlowDaily
    @MusicFlowDaily 2 роки тому

    Благодарю за урок! :)
    А как называется саундтрек который используется вначале и конце видео?

  • @timofei9676
    @timofei9676 5 років тому +2

    Привет, можешь сделать видео по стрельбе, со слежением(поворотом) оружия за курсором мыши?

    • @graphicaldesign2776
      @graphicaldesign2776  5 років тому +1

      окей

    • @timofei9676
      @timofei9676 5 років тому +1

      @@graphicaldesign2776 не, ну это лайк, подписка, колокольчик с ещё одного аккаунта)

  • @Figase
    @Figase 4 роки тому +28

    код по архитектуре не корректен, как ты будешь контролировать если будет 1000 уровней или 5000, ты будешь каждый уровень писать в if и проверять ?? Понятно что твой контент для новичков , но код надо изначально правильно организовывать, а то так и будут недоучки и понимать не будут где косяк . если рассматривать как Unity уроки для детей то вопросов нет

    • @user-tu4vm7br2x
      @user-tu4vm7br2x 4 роки тому +2

      А как это лучше сделать

    • @unitycraftzone5888
      @unitycraftzone5888 4 роки тому +4

      @@user-tu4vm7br2x через цикл for проверять.

    • @yarolf9678
      @yarolf9678 4 роки тому +1

      Логично

    • @unitycraftzone5888
      @unitycraftzone5888 3 роки тому

      @World War Memes на самом деле там не такая сложная задача как тебе кажется, просто в цикле for есть переменная i по умолчанию и ты можешь с помощью неё проверять каждый уровень. К примеру переменная i номер уровня в цикле и если она будет меньше открытых уровней то уровень будет разблокироваться.

    • @skaron9044
      @skaron9044 3 роки тому

      @@unitycraftzone5888 А можно об этом поподробнее если не сложно? Как именно прописывать код что бы уровни разблокировались постепенно?

  • @tanisdrago3106
    @tanisdrago3106 3 роки тому

    почему OnTriggerEnter2D не работает?

  • @bubun2178
    @bubun2178 4 роки тому

    А можно как нибудь сделать так, чтобы в при переходе, допустим, на новую главу менялся фон?

    • @bubun2178
      @bubun2178 3 роки тому

      @@DL_Tech Если честно я уже сам не очень помню по поводу чего был задан мной данный вопрос)

  • @user-gb6vn5kv5w
    @user-gb6vn5kv5w 4 роки тому +1

    Добрый день. Если я прошёл 2 уровня и допустим хочу не проходить 3 ,а пройти 2 опять как так сделать?

    • @graphicaldesign2776
      @graphicaldesign2776  4 роки тому

      Поставить перезагрузку текущего уровня

    • @user-gb6vn5kv5w
      @user-gb6vn5kv5w 4 роки тому

      @@graphicaldesign2776 Чет оно не работает,если не сложно напиши по подробнее.

  • @YOURREST
    @YOURREST 5 років тому +4

    Спасибо, Бро! Шикарный урок! Не забудь доделать видео про ИНВЕНТАРЬ(подбор/сброс предметов Персонажем)!!!!! ^_^

    • @Semga
      @Semga 3 роки тому +1

      Что ты тут делаешь? Вот тебя я точно не ожидал здесь увидеть!

    • @YOURREST
      @YOURREST 3 роки тому

      @@Semga Мне интересно, как люди делают игры. Я смотрю такие видео. Может, когда-нибудь, сделаю свою игру...но не факт :)

    • @Semga
      @Semga 3 роки тому

      @@YOURREST я вот уже вроде второй месяц этому учусь)

  • @kenshikicuver9460
    @kenshikicuver9460 4 роки тому +3

    Привет, слушай, у меня такая проблема, все сдела как на видео, но когда переходит на следующий уровень, а потом ты переходишь в меню, то уровни не сохраняются, можешь ответить?
    Изменено: Все работает, я заного сделал кейсы

    • @user-zq5jg1ex7y
      @user-zq5jg1ex7y 4 роки тому

      А как ты решил эту проблему?

    • @mix-red3709
      @mix-red3709 4 роки тому

      +

    • @kenshikicuver9460
      @kenshikicuver9460 4 роки тому

      @@user-zq5jg1ex7y если у вас есть дополнительные сцены, то поменяйте кейсы на сцены, в которых сцены которые вы хотите, т.е цифры.
      Если у вас сцена например "2" с самой игрой, то указываете в первом кейсе 2

    • @RivaKing
      @RivaKing 4 роки тому

      @@user-zq5jg1ex7y возможно у вас как у меня, в скрипте левел контроллер могут быть слова с маленькой, а не с большой буквы
      Если сделать как надо большой, то всё сохраниься

    • @user-zq5jg1ex7y
      @user-zq5jg1ex7y 4 роки тому

      @@RivaKing я уже решил проблему, но вы правы у меня тоже с маленькой буквы было написано.

  • @user-zq5jg1ex7y
    @user-zq5jg1ex7y 4 роки тому +7

    Полный ужас, всё сделал и уровни рестарт сами делают, кучу времени пытался решить эту проблему, ни чего не помогало. Но вдруг заметил что в скрипте МайнМеню LevelComplete с маленькой буквы,. С*ка. Капец, просто нет слов,. Урок отличный, спасибо.

    • @z_007x
      @z_007x 3 роки тому

      Спасибо я без тебя бы долго мучился

    • @dastankappassov
      @dastankappassov 3 роки тому

      Где именно?

  • @kitkyte7126
    @kitkyte7126 4 роки тому

    Graphical Design можно вопрос.А можно ли зделать колайдер и поставить галочку на Trigger и тем самым зделать невидимый колайдер для перехода на следущей уровень?И как это сделать?Прошу помогите!!!!!!!

    • @cuver5595
      @cuver5595 4 роки тому

      Перенеси по слоям, он будет работать, но его не будет видно, можешь использовать Sorting слои

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      @@cuver5595 спасибо я уже давно все сделал но спасибо что ответил

  • @HoshiFSE
    @HoshiFSE 4 роки тому +2

    Вопрос я понимаю что ты скорее всего не ответишь, но я постараюсь достучаться "Что делать если после прохождения 3 lvl автоматом Reset нажимается хоть и я этого не хочу?" я код раза 4 пересмотрел.

    • @graphicaldesign2776
      @graphicaldesign2776  4 роки тому +1

      что-то сделал не так

    • @user-zq5jg1ex7y
      @user-zq5jg1ex7y 4 роки тому

      Привет, ты решение нашел? А то у меня чёт тоже такая фигня.

  • @kelni
    @kelni 4 роки тому +1

    Ошибка 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
      @no_more_dusty_trip Рік тому

      У меня также, решил проблему?

    • @kelni
      @kelni Рік тому +1

      @@no_more_dusty_trip мог бы ещё годик подождать и написать

    • @no_more_dusty_trip
      @no_more_dusty_trip Рік тому

      @@kelni Блин просто очень нужно

  • @freizef2237
    @freizef2237 5 років тому

    Ура я первый и опять новый видос

  • @user-vb2sf7rl7i
    @user-vb2sf7rl7i 4 роки тому

    А как сделать на 30 сцен

  • @farrellka
    @farrellka 4 роки тому

    Привет, мне нравится, только вот... При прохождении уровня кидает в меню, а также при прохождении уровня не открывается след. уровень. В билде сцены добавлены.

    • @farrellka
      @farrellka 4 роки тому

      Так, при прохождении уровня кидает на след лвл, но в меню они заблокированы всё равно, что делать?

  • @Vital521N
    @Vital521N 4 роки тому +1

    не сохраняет результат. как быть? что делать?? подскажите пожалуйста, в чем может быть проблема. все кроме первого уровня не доступны. Мне кажется проблемы с 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);

    • @pppva2667
      @pppva2667 3 роки тому

      слишком много кейсов, либо удаляешь НАФИГ проект, либо убераешь кейсы

    • @user-hs1oq8nl1f
      @user-hs1oq8nl1f 3 роки тому

      Проект не удаляй проблема в скриптах

    • @nodter6091
      @nodter6091 6 місяців тому

      Ты добавил лишнее действие
      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 года уже, но вдруг помог)

  • @bombit5407
    @bombit5407 5 років тому

    Топ видосы, изучаю Unity и огромное тебе спасибо за твои видео. Не мог бы ты записать видео о выпадении лута?

  • @wtbf
    @wtbf 5 років тому

    Вы мне очень помогли в создании инвентаря.
    Могли бы вы сделать серию или хотя бы одно видео по сохранению предметов в инвентаре?

  • @SUPPHY-
    @SUPPHY- 5 років тому

    сделал всё также, ошибка Trying to Invoke method: LevelController.LoadMainMenu couldn't be called. Подскажи пожалуйста, что делать

    • @graphicaldesign2776
      @graphicaldesign2776  5 років тому

      Проверить еще раз скрипт, пишет, что нет доступа к вызова именно загрузки меню

    • @SUPPHY-
      @SUPPHY- 5 років тому

      @@graphicaldesign2776 я нашёл ошибку, я написал OnMainMenu, вместо LoadMainMenu

    • @graphicaldesign2776
      @graphicaldesign2776  5 років тому

      Отлично)

    • @SUPPHY-
      @SUPPHY- 5 років тому

      @@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);
      }
      когда уровень прошёл, новый не открывается((

  • @rednecksstudio3207
    @rednecksstudio3207 5 років тому

    А если в игре не три уровня а 30, получается надо создавать кучу case и объектов кнопки по номеру. И отдельно запускать каждый элемент, это костыль.

  • @hummylisii8237
    @hummylisii8237 4 роки тому

    Как можно сделать так чтоб он сначала ишол в меню и только после начал новый уровень.Хотелось бы увидеть видео про чекпоинты в уровне))

  • @FreeCoinsChannel
    @FreeCoinsChannel 4 роки тому

    Сильно все усложненно...можно сделать всё намного проще...если у меня сто уровней например...я с ума сойду пока все сделаю по вашему методу

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      Ты дурак?просто скопируй case 1 и цыфры меняй на case два и цыфры кнопок уровней.И все.

    • @kitkyte7126
      @kitkyte7126 4 роки тому +1

      Нет ты дурак!Скрипт для того что бы все выполнять автоматом а не каждый раз это делать ручками.

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      @@FreeCoinsChannel Да,с тобой тоже все понятно.

    • @FreeCoinsChannel
      @FreeCoinsChannel 4 роки тому +1

      @@kitkyte7126 в очередной раз убеждаюсь что в интернете очень много неадекватов

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      @@FreeCoinsChannel ну да таких как ты.

  • @sanyaa7811
    @sanyaa7811 3 роки тому +1

    А если 100 уровней?)

  • @overkill_exe
    @overkill_exe 2 роки тому

    В этом методе есть огромная ошибка.
    У меня всего 5 уровней.
    Если все 5 уровней открыты и я в сцене уровней выбираю 2-ой, прохожу его и возвращаюсь на сцену с уровнями, то 4 и 5 вновь будут заблокированы.

  • @user-kx1jp2nx7r
    @user-kx1jp2nx7r 4 роки тому

    Ребят, подскажите что делать, такая проблема: Прохожу последний уровень, перекидывает в меню, но открыта только кнопка первого уровня. Почему?

  • @demonstalker_game_developer
    @demonstalker_game_developer 5 років тому

    Здравствуйте! А можно сделать видео, где подробно рассказать про Save?

    • @graphicaldesign2776
      @graphicaldesign2776  5 років тому

      demonstalker show что значит «подробно»?

    • @demonstalker_game_developer
      @demonstalker_game_developer 5 років тому

      @@graphicaldesign2776 Я имел ввиду, как полностью сохранять весь процесс игры, включая характеристики игрока, деньги и т.д. И как потом это загружать!

    • @csgo-funmoment_official3059
      @csgo-funmoment_official3059 4 роки тому

      @@demonstalker_game_developer Создаешь отдельные скрипты для каждого характеристики и сохраняешь.Купи курсы по этому делу и всё выучи, а то так ты будешь долго мучаться

    • @KraGenGames
      @KraGenGames 3 роки тому

      @@demonstalker_game_developer на канале есть видео посмотри (у Автора а не у меня)

  • @sergeyrau1756
    @sergeyrau1756 4 роки тому

    как с вами можно связаться?

  • @mod6103
    @mod6103 3 роки тому

    А можно сделать код без английского языка? Просто я не знаю английский язык. Можно или нет?

    • @KraGenGames
      @KraGenGames 3 роки тому

      нельзя хахаха, сорян но насколько я знаю то ВСЕ языки программирования на английском языке и C# не исключение.

  • @tomizz4406
    @tomizz4406 4 роки тому +1

    Уровни не сохраняются,если перезапустить игру на телефоне,как решить проблему?

    • @hakerrulit5824
      @hakerrulit5824 4 роки тому

      Такая же проблема

    • @tomizz4406
      @tomizz4406 4 роки тому +1

      ​@@hakerrulit5824 @@hakerrulit5824 помогу,Создаёшь Void OnApplicationQuit() { и сюда пишешь PlayerPrefs.SetInt("LevelComplete", sceneindex);
      }

    • @hakerrulit5824
      @hakerrulit5824 4 роки тому

      @@tomizz4406 Спасибо, надеюсь поможет

    • @hakerrulit5824
      @hakerrulit5824 4 роки тому +1

      @@tomizz4406 всё равно не сохраняет(

  • @footballFun-i6q
    @footballFun-i6q 4 роки тому

    Assets\script
    extLevel.cs(9,34): error CS0122: 'LevelController.isEndGame()' is inaccessible due to its protection level мод кажи що робити

  • @alfarabius
    @alfarabius 13 днів тому

    А если в игре 999 уровней?

  • @nepochat
    @nepochat 5 років тому

    Твой канал - кладезь знаний. Спасибо большое!
    (жалко что вк не отвечаешь)

    • @graphicaldesign2776
      @graphicaldesign2776  5 років тому

      В моей стране сложно с ВК)

    • @nepochat
      @nepochat 5 років тому

      А ты пользуешься телеграмм?

    • @graphicaldesign2776
      @graphicaldesign2776  5 років тому

      @@nepochat Кстати, пользуюсь.
      Скидывай аккаунт, добавлюсь

    • @nepochat
      @nepochat 5 років тому

      @@graphicaldesign2776 @iampanda7

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      Согласен.

  • @sashikshik
    @sashikshik 3 роки тому

    у меня возникли проблемы, если я прохожу первый уровень ивыхожу в меню, то казалось бы всё норм, но если опять зайти в первый уровень, то он не перенесёт тебя на второй после прохождения

    • @sashikshik
      @sashikshik 3 роки тому +1

      а я понял свою ошибку, я Invoke на 15:43 ничайно в функцию if записал

    • @Minusgolovushka
      @Minusgolovushka 2 роки тому

      @@sashikshik Я целый час не вдуплял, почему после первого раза оно не работает. Листал комменты в надежде на спасение, оказалось то же самое. Спасибо!

    • @sashikshik
      @sashikshik 2 роки тому

      @@Minusgolovushka ахаха круто! Не думал, что найдётся ещё один человек с такой же проблемой)

    • @Minusgolovushka
      @Minusgolovushka 2 роки тому

      @@sashikshik моя невнимательность меня в гроб сведёт)))

  • @bohdan4238
    @bohdan4238 4 роки тому +1

    Привет, помоги пожалуйста, Как сделать чтобы если человек нажимал на закрытый уровень высвечивалась надпись (сначало пройди преведущий уровень) Как так сделать ведь если делать как ты, то кнопка не активна??

    • @graphicaldesign2776
      @graphicaldesign2776  4 роки тому +1

      Привет. Смотри, кнопку надо сделать кликабельной, но она должны выполнять запуск текста, а не переход на следующий уровень, пока мы этот уровень не откроем.

    • @bohdan4238
      @bohdan4238 4 роки тому

      @@graphicaldesign2776 Спасибо, но что нужно поменять в скрипте или нужно его кардинально менять или делать свой

    • @bohdan4238
      @bohdan4238 4 роки тому

      @@graphicaldesign2776 просто на ютубе я такого не нашёл, даже на англоязычных каналах лазил, может я плохо искал?

    • @dhldodo334
      @dhldodo334 4 роки тому

      @@graphicaldesign2776 будем благодарны если сделаете видео

    • @c_royaleh6879
      @c_royaleh6879 4 роки тому

      @@graphicaldesign2776 я тоже с ними согласен, запили ролик на эту тему и ещё про оптимизацию игры на андроид

  • @LeoKhol
    @LeoKhol 4 роки тому +2

    Все работает но! У меня не открывается 1-й уровень
    Изменение:
    Все работает!! Спасибо!!! Просто первый уровень нужно в build setting поставить под цифру 1

    • @kitkyte7126
      @kitkyte7126 4 роки тому

      Хух спс за решение было тоже самое

  • @JavaSqr
    @JavaSqr 2 роки тому

    Логично, логично, логично, логично...

  • @rafik5179
    @rafik5179 4 роки тому +7

    Все работает, но когда прохожу последний у меня открыт только 1 уровень

    • @omoloni
      @omoloni 4 роки тому

      открывай уровни после прохождения и загружай открытые уровни в старте

    • @user-kx1jp2nx7r
      @user-kx1jp2nx7r 4 роки тому

      @@omoloni всмысле? Не очень понял

    • @user-kx1jp2nx7r
      @user-kx1jp2nx7r 4 роки тому

      Разобрался? У меня такая же проблема

    • @rafik5179
      @rafik5179 4 роки тому

      @@user-kx1jp2nx7r нет, не разобрался.

    • @omoloni
      @omoloni 4 роки тому

      @@user-kx1jp2nx7r когда проходишь уровень, то сразу открывай следующий и сохраняй в плеер префс, а в меню каждый раз загружай из плеер префс

  • @dexmund7490
    @dexmund7490 3 роки тому

    У меня первый и третий уровень работают нормально, а второй уровень сам переключается на третий, кто сталкивался?

    • @dexmund7490
      @dexmund7490 3 роки тому

      Разобрался. Именно на втором уровне, объект который загружает следующую сцену с чем-то соприкасался и срабатывал сразу при старте -_- В скрипте прописал на соприкосновение именно с игроком, теперь работает отлично.