Создание кликера на Unity #2

Поделиться
HTML-код
  • Опубликовано: 7 сен 2024
  • Привет! В этом видео мы продолжаем Создание кликера на Unity #2. Сегодня я покажу как реализовать систему достижений. Не забывай подписываться на канал, ставить лайк и писать комментарии.
    Ссылка на материалы: yadi.sk/d/eUg_...
    Создание кликера на Unity #2
    unity, юнити, как создать игру, как создать кликер, туториал, гайд, программирование, c#, разработка игр, как сделать кликер на юнити, playerprefs, achievements

Комментарии • 469

  • @LBCDRIVE
    @LBCDRIVE 3 года назад +136

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

    • @Ter1onn
      @Ter1onn 3 года назад

      что ты искал?

    • @butikof190
      @butikof190 3 года назад

      Как сцену дублировать, ctrl+ d не работатет

    • @viktor1353
      @viktor1353 3 года назад +1

      @@butikof190 пкм скопировать и пкм вставить

    • @ImRooni
      @ImRooni 2 года назад +1

      Мне норм, не чё гуглить не пришлось.

    • @artalegx3814
      @artalegx3814 2 года назад +2

      @@Ter1onn я до сих пор не понимаю что делать с кнопкой, она всё равно нажимается

  • @Fikusiklol
    @Fikusiklol 2 года назад +5

    В тернаринке метода GetFirst у тебя всегда isFirst возвращает 1, т.к ты сам true и установил.
    Можно сразу единицу поставить.
    PlayerPrefs.SetInt("isFirst", 1);
    Плюс:
    1) не очень понятно зачем делать public total money, ведь мы загружаем из переменной money значение
    2) зачем делать SerializeField isFirst, ведь вся логика прописана в скрипте
    3) у тебя метод GetFirst можно нажать бесконечно раз пока ты не выйдешь со сцены, поэтому логично добавить логику нажатия
    А так спасибо, лайк :)

    • @s1nexw
      @s1nexw 2 года назад

      скажи пж весь скрипт AchMenu

  • @mrdenix7504
    @mrdenix7504 2 года назад +16

    А куда нужно кидать ачивментс? Типа на что его повешать? У меня просто ачивка не засчитывается.

  • @MrElevatorChannel
    @MrElevatorChannel 7 месяцев назад +4

    была проблема с тем, что кнопка все равно оставалась активной, когда total_money был больше 10. Ошибка в том что в скрипте в условии в if нужно писать не >= 10, а

    • @NEKYRU_RR
      @NEKYRU_RR 6 месяцев назад

      Спасибо) могу к тебе обращаться с вопросами?)

    • @chranir1776
      @chranir1776 2 месяца назад

      Почему я точноси написал код а там нету ToAchievements?

    • @Sent-Arena
      @Sent-Arena 28 дней назад

      @@chranir1776mainMenu в скрипте.

  • @pavelcreator9684
    @pavelcreator9684 3 года назад +12

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

    • @fediks
      @fediks 3 года назад

      Какие аналоги вы смотрели и в чем данный курс лучше?

    • @defom_kills
      @defom_kills 2 года назад +2

      лучше это когда курс дается по нерабочему коду?

  • @fanganVT
    @fanganVT 2 года назад +7

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

  • @rijen42
    @rijen42 3 года назад +15

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

    • @madonnazzl6108
      @madonnazzl6108 2 года назад

      скорее всего он уже привык так делать

  • @neitachi2237
    @neitachi2237 3 года назад +7

    3 часть, братик, мы все ждем не дождемся!

  • @HonorBooM
    @HonorBooM 3 года назад +16

    Так бесит пока за кадром делают сами,а потом,ой,да там легко,и говорят о осях бл

    • @onran0
      @onran0 3 года назад

      не,ну ты как бы сам игру делаешь,не он же ее за тебя делает,ты и сам должен чтото делать

    • @HonorBooM
      @HonorBooM 3 года назад +2

      @@onran0 да,ты прав безусловно,просто я тогда столкнулся с проблемой,что у меня фон был поверх других окон (кнопки и денег)

    • @alexeyshatov9024
      @alexeyshatov9024 3 года назад +2

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

    • @lelelele5127
      @lelelele5127 3 года назад +1

      поддерживаю, а в конце он вообще самостоятельно код переписал без записи видео а потом только показал, пришлось переделывать(( ААА

    • @kyzmychradion325
      @kyzmychradion325 3 года назад

      @@HonorBooM як пофіксив

  • @gde-nosok
    @gde-nosok День назад +1

    Что делать если в строках, в которых записаны условия достижения "public void GetFirst()" то напишет Modifiler public not valid for this item, а если стереть public то напишет что GetFirst не используеися ?

  • @feviend1393
    @feviend1393 3 года назад +3

    Привет.Крутое видео я тоже делаю игру на Unity.

  • @user-uf9yv1dx8p
    @user-uf9yv1dx8p Месяц назад

    Спасибо большое за видео наконец сделал свой первый игру на unity

  • @artalegx3814
    @artalegx3814 2 года назад +3

    Почему кнопка так и нажимается? Скрипт в норме, поставлен так же как и на видео, настройки те же. Кто знает, помогите?

  • @wortex_
    @wortex_ 2 года назад +3

    Кстати, метод ToAchievments можно модифицировать, нужно написать так: (название можно оставить)
    public void ToScene(int index)
    {
    SceneManager.LoadScene(index);
    }
    Таким образом мы сможем загрузить любую сцену, только нужно открыть сцену, нажать file - build settings и нажать кнопку Add open scenes, таким образом мы добавим индекс открытой сцене achievments, затем прикрепляем скрипт с этим методом к камере например и потом в кнопке с помощью которой мы хотим сделать переход в другую сцену находим штуковину Onclick и нажимаем +, затем в окошко None (object) переносим (перетаскиваем) камеру (любой другой объект на котором висит скрипт) и в правом окошке No function нажимаем: MainMenu - ToScene(int) и в правом появившимся окошке пишем индекс сцены к которой нам нужен переход, всё! Теперь вы можете таким образом переходить к любой сцене!

  • @ckab10
    @ckab10 3 года назад +6

    Как сделать магазин автор ответь и сделай видео урок пж!

  • @hob_6668
    @hob_6668 Год назад +4

    что делать если ToAchievements не поевляется в кнопке

  • @TrippleHack
    @TrippleHack 2 года назад +4

    как возращятся обратно в меню из атчивок?

  • @d1oxyon
    @d1oxyon Год назад +2

    я в точности как он написал код, пишет ошибку с UnityEngine и SceneMenagement, и нету в MainMenu вкладки ToAchievements, что делать

  • @mcquack8914
    @mcquack8914 2 года назад +1

    Ты мне очень сильно помог .Спасибо😃

  • @bewelen5240
    @bewelen5240 3 года назад +6

    Помогите пожалуйста ошибка
    NullReferenceException: Object reference not set to an instance of an object AchMenu.Start() (at Assets/scripts/AchMenu.cs:22)

    • @ZkeeeRus
      @ZkeeeRus 3 года назад

      Отсутсвует значение на 22 строке

  • @miku2x2
    @miku2x2 2 года назад +4

    Что делать если ачивка появится, хотя требование не сделано?

  • @oya6496
    @oya6496 3 года назад +8

    Мне давно было интересно как создать игру и благодаря тебе я начал делать игры, у меня по этому есть видео на канале, там прикольно)

  • @letsgo4744
    @letsgo4744 3 года назад +5

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

    • @snejok_true
      @snejok_true 3 года назад

      тоже самое и у меня....

    • @psycat7288
      @psycat7288 2 года назад

      Как-то пофикисили? Та же хуйня

    • @matrix3779
      @matrix3779 2 года назад

      нужно 2скрипт закрепить на mainCamera в сцене ачивки

    • @whoisphanta272
      @whoisphanta272 2 года назад

      @@matrix3779 Я закрепил 2-ой скрипт на MainCamera , в First Ach поставил кнопку "Ачивка (Button)" , но при запуске галочка Is First пропадает , что делать?

    • @kirill2kOS1
      @kirill2kOS1 2 года назад

      @@whoisphanta272 тож самое

  • @__hard__
    @__hard__ 3 года назад +7

    Я ждал этого и дождался

  • @boyaresquad
    @boyaresquad 3 года назад +5

    слетает галочка isFirst при заходе в достижения , что делать?

    • @user-ex3iu5pm6y
      @user-ex3iu5pm6y 3 года назад +1

      нужно в мейн камере кнопку ачивки прикрепить

  • @polkadots2255
    @polkadots2255 3 года назад +4

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

    • @polkadots2255
      @polkadots2255 3 года назад

      Окей, я просто добавил отдельную кнопку для выхода в меню, как это сделано в третьем уроке😅

    • @mrsnaje1311
      @mrsnaje1311 3 года назад

      Буду знатьдать

    • @kapepasta2519
      @kapepasta2519 3 года назад +1

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

    • @mrsnaje1311
      @mrsnaje1311 3 года назад

      @@kapepasta2519 если ты про кнопку выхода из достежений, то тоже самое как и с заходом только сцену надо поставить 0

    • @mrsnaje1311
      @mrsnaje1311 3 года назад

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

  • @mink_beautiful
    @mink_beautiful 2 года назад +7

    я когда нажимаю на достижения у меня NullReferenceException: Object reference not set to an instance of an object
    MainMenu.Update () (at Assets/Scripts/MainMenu.cs:31)

    • @Rostixxx0
      @Rostixxx0 2 года назад

      тоже

    • @xlebza0928
      @xlebza0928 2 года назад

      Укажи текст в Main Camera компонент скрипта

    • @ladninko
      @ladninko 2 года назад

      @@xlebza0928 у меня тоже. Обьясни пожалуйста поподробнее

    • @xlebza0928
      @xlebza0928 2 года назад

      @@ladninko В Проекте есть объект как MainCamera в нем нужно добавить компонент MainMenu.cs

    • @RoxwT1
      @RoxwT1 2 года назад

      @@xlebza0928 А как добавить я не понял

  • @user-xi1iz8js3q
    @user-xi1iz8js3q 3 года назад +2

    Бро, классное видио.

  • @macarov9658
    @macarov9658 2 года назад +2

    в метод GetFirst надо вставить условие если !isFirst то тогда выполнять код,потому что кнопка отключиться ну если нажимать на неё то деньги будут всё равно добавляться .Вот впринципе как я сделал
    if (!isFirst)
    {
    int money = PlayerPrefs.GetInt("money");
    money += 100;
    PlayerPrefs.SetInt("money",money);
    isFirst = true;
    PlayerPrefs.SetInt("isFirst",isFirst ? 1 : 0);
    }
    Кстати,как там у меня на родине живётся?

    • @zhelezka_p
      @zhelezka_p 9 месяцев назад

      Слава тебе небесная у меня ничего до того как я это сделал не работало

  • @user-jg1km7so2i
    @user-jg1km7so2i 2 года назад +1

    Assets\Scripts\AchMenu.cs(16,8): error CS0131: The left-hand side of an assignment must be a variable, property or indexer

  • @psevdonimneizvestin
    @psevdonimneizvestin 2 года назад +4

    КЛАС СПАСИБО ИГРА ПЕРЕСТАЛА ЗАПУСКАТЬСЯ КЛАСССС

    • @s1nexw
      @s1nexw 2 года назад

      +

    • @d1oxyon
      @d1oxyon Год назад

      Справился с проблемой?

    • @d1oxyon
      @d1oxyon Год назад

      У меня такая же проблема

  • @zemonast9196
    @zemonast9196 3 года назад +19

    Почему ты не используешь функцию OnClick(), который уже находиться в компоненте Button? А добавляешь новый компонент EventTrigger.

    • @theihori7367
      @theihori7367 3 года назад +1

      Вот только хотел написать это же, я тестил с OnClick работает так же, но видимо человек привык

    • @ImRooni
      @ImRooni 2 года назад +1

      Да!

  • @ImRooni
    @ImRooni 2 года назад +3

    Помогите пожалуйста у меня ошибка CS0246...

    • @vishka2556
      @vishka2556 2 года назад +2

      Ты смог убрать эту ошибку? Если да то как, у меня тоже такое

    • @ImRooni
      @ImRooni 2 года назад

      @@vishka2556 смог!
      Посмотри в какой строчке ошибка например у меня запятая в место точки стояла.

    • @vishka2556
      @vishka2556 2 года назад

      @@ImRooni спасибо

    • @ImRooni
      @ImRooni 2 года назад

      @@vishka2556 кстати мне вообще 10 лет))

    • @vishka2556
      @vishka2556 2 года назад

      @@ImRooni 15 будем знакомы

  • @andrenn11
    @andrenn11 3 года назад +1

    Спасибо за то что делаешь!++Ъ

  • @blizandjeka228
    @blizandjeka228 2 года назад +3

    Спс чел. Благодаря тебе я понял логику юнити. Я раньше не понимал как в нем переменные ставить и не знал что такое void . Теперь я все понял. СПс.

  • @kirill2kOS1
    @kirill2kOS1 2 года назад +1

    пж помогите! у меня за выполнение достижения не прибовляется награда

  • @sidoorenko
    @sidoorenko 3 года назад +1

    привет , подскажите.... чё делать
    NullReferenceException: Object reference not set to an instance of an object
    MainMenu.Update () (at Assets/Scripts/MainMenu.cs:34)

    • @raptortv6184
      @raptortv6184 3 года назад

      Проверь правильно ли скрипт написан

    • @sidoorenko
      @sidoorenko 2 года назад

      @ переписал полностью весь скрипт ..

    • @sidoorenko
      @sidoorenko 2 года назад

      @ mainMenu

    •  2 года назад

      @@sidoorenko Щас попробую. Спасибо за ответ

  • @chell4637
    @chell4637 7 месяцев назад +1

    почему используешь event trigger можно OnClick()?

  • @user-pg8oo5fy6r
    @user-pg8oo5fy6r 3 года назад +1

    после тово как я написал код у меня юнити здох все пишет Aplication.reload уже 10 мин што делать ?????

  • @user-tg8mr9wf1k
    @user-tg8mr9wf1k 3 года назад +4

    Что делать если код для сцени очивок написан но на сцену не кидает?

  • @vladislavlevanovich3991
    @vladislavlevanovich3991 3 года назад +2

    Помогите пожалуйста! Не показывает на главной странице количество монет, но всё работает. И ещё пишет: NullReferenceException: Object reference not set to an instance of an object

    • @bewelen5240
      @bewelen5240 3 года назад

      Привет,ты решил проблему??? Очень надо пж

    • @bewelen5240
      @bewelen5240 3 года назад

      Пж ответь мне очень срочно надо

    • @user-yg7pt8wz9b
      @user-yg7pt8wz9b 3 года назад

      у меня тоже это показывает

    • @bewelen5240
      @bewelen5240 3 года назад

      @@user-yg7pt8wz9b я решил проблему

    • @bewelen5240
      @bewelen5240 3 года назад

      @@user-yg7pt8wz9b го по дс я объясню

  • @danilich_ivashkov
    @danilich_ivashkov Год назад +1

    Почему у меня возникает ошибка: Assets/Scripts/AchMenu.cs(13,2): error CS1525: Unexpected symbol `isFirst' Что мне делать?

    • @Morex-lt9fn
      @Morex-lt9fn 2 месяца назад

      тф не создал переменную isFitst наверно

  • @scxxxred
    @scxxxred 2 года назад +2

    У меня все равно достижение кнопка нажимается, хотя в общем количестве очков 36, что делать?

    • @Artttem669
      @Artttem669 2 года назад

      Ты решил проблему?

    • @1Cheburash
      @1Cheburash Год назад

      @@Artttem669 добавьте второй скрипт на Main Camera во второй сцене, в поле First Ach поместите первый button с ачивкой, нажмите галочку на is First, затем выберете первый button ачивки, добавьте Event Trigger со свойством Pointer Click, перетащите туда Main Camera и выберите AchMenu и ToMenu()

    • @user-fn6rl6oe4g
      @user-fn6rl6oe4g Год назад

      @@1Cheburash так а если выбрать ToMenu то выкинет в меню где сам кликер

    • @enotvip2522
      @enotvip2522 21 день назад

      ​@@1Cheburashспасибо большое👍

  • @FantomSoWa
    @FantomSoWa Год назад

    Ребят если у кого-то ошибка связанная с GameObj или типо чето того. То! Проверьте не забыли ли вы привязать кнопку достижения *Сделай 10 кликов* к скрипту. ( Делается через юнити как и совсеми другими кнопками. )

  • @Rustanovich
    @Rustanovich 3 года назад +1

    NullReferenceException: Object reference not set to an instance of an object
    Menu.Update () (at Assets/Scripts/Menu.cs:31)
    Что делать?

    • @onslowedmusic7142
      @onslowedmusic7142 3 года назад +1

      У меня так же)

    • @silvera_tv
      @silvera_tv Год назад

      @@onslowedmusic7142 В новой сцене удалите скрипт с камеры, который скопировался вместе со сценой. В нем есть ссылки на объекты, которых нет в новой сцене

  • @AutoGhost777
    @AutoGhost777 Месяц назад

    Видео классное. Но чуть чуть плохо объясняете

  • @smwgames3357
    @smwgames3357 3 года назад +1

    На canvas пропала кнопка для создания UI элементов что делать

  • @dazlyx
    @dazlyx Год назад +1

    много чего не показывает, зря потратил время, ничего нормального не получилось. Единственное это счетчик кликов нормальный получился :(

  • @rufetismayil6597
    @rufetismayil6597 3 года назад +1

    Assets/Scripts/AchMenu.cs(7,14): error CS0101: The namespace `global::' already contains a definition for `NewBehaviourScript'
    ????

    • @evanmine8815
      @evanmine8815 3 года назад +1

      У тебя в самом скрипте неправильно написано имя названия скрипта

  • @i3sjdnc7
    @i3sjdnc7 2 года назад +1

    Что делать если в тригерре в функциях вообще нету пункта mainmenu? Я не могу из-за этого сделать переход из меню в ачивментс

    • @mZharkov_
      @mZharkov_ 2 месяца назад

      Решил проблему? Если да, то напиши как

  • @positivevideoclips
    @positivevideoclips Год назад +1

    Подскажите а как сделаны тени под кнопками?

    • @amerser3
      @amerser3 Год назад

      В фотошопе можешь сделать

  • @francescoonlinerp179
    @francescoonlinerp179 2 года назад +1

    аткуда появилась 2 сцена маин меню ааааааааааааааа......................................

  • @mrminecrafter3829
    @mrminecrafter3829 3 года назад +2

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

  • @user-xi1iz8js3q
    @user-xi1iz8js3q 3 года назад +3

    когда продолжение?

  • @FlashFilmMoments
    @FlashFilmMoments Год назад +1

    чел большое спасибо, всё понятно объяснил, однозначно лайк и подписка

  • @qush1qq
    @qush1qq 3 года назад +1

    Бро помоги я сделал всё правильно но ачивка не зачисляется!!!

  • @user-vj6qy3pk8s
    @user-vj6qy3pk8s 3 года назад

    Класснота!!!

  • @carro_play1851
    @carro_play1851 2 года назад +1

    скиньте плиз скрипт достижений точь в точь написал куча ошибок

  • @shpenatm.p6517
    @shpenatm.p6517 2 года назад

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

    • @shpenatm.p6517
      @shpenatm.p6517 2 года назад

      Если не делал кшн, я просто недавно на твоем канале. А так, спасибо большое, побольше бы гайдов)

  • @romashkastar2314
    @romashkastar2314 3 года назад +2

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

    • @sjkavboi
      @sjkavboi 2 года назад

      Вот так и фиг кто ответит

    • @romashkastar2314
      @romashkastar2314 2 года назад

      @@sjkavboi уже самостоятельно решил проблему

    • @sjkavboi
      @sjkavboi 2 года назад

      @@romashkastar2314 как решил? 4тую часть посмотрел и полностью изменил код, или как то по иному решил?
      Я только неделю назад начал с юнити работать, а так полный ноль в этом.

    • @romashkastar2314
      @romashkastar2314 2 года назад

      @@sjkavboi черт, сам уже не помню, давно решил.

    • @romashkastar2314
      @romashkastar2314 2 года назад

      @@sjkavboi да, по 4-ой части

  • @KlSSKATE
    @KlSSKATE 3 года назад +1

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

    • @Eugene-dp9kg
      @Eugene-dp9kg 3 года назад

      А почему он должен быть против?

  • @devilbro9444
    @devilbro9444 3 года назад

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

  • @pav001
    @pav001 3 года назад +2

    Не получается сделать кнопку назад, емае

  • @user-oz2eg7zr2c
    @user-oz2eg7zr2c 2 года назад +1

    почему ты используешь event trigger вместо обычного OnClick от кнопки? Это важно, ответь пожалуйста!

    • @Morex-lt9fn
      @Morex-lt9fn 2 месяца назад

      у меня тот же вопрос,2 года прошло,нашел ответ?

  • @ascamond
    @ascamond 3 года назад

    Я тут ни к селу, ни к городу, но:
    1. Тернарный оператор в ф-ции Start не нужен, так как == и так вернет true, либо false. Лишние тики.
    2. Второй тернарный оператор не нужен тоже. Мы же выставляем isFirst = true;. У нас ничего, кроме 1 туда и не упадет.
    Мб я дурак, но как-то так.

    • @rugewit5775
      @rugewit5775 3 года назад

      не, здесь суть в том, что PlayerPrefs не может bool сохранить, поэтому мы с помощью этих операторов bool в int или обратно конвертим.

    • @ascamond
      @ascamond 3 года назад

      @@rugewit5775
      1. Там тернарный оператор формата (логическое выражение)? true: false. То есть формата
      If (выражение логическое)
      return true;
      else
      return false;
      То есть мы и так получаем bool, но зачем-то прокидываем его через тернарку
      2. Мы сами ставим перед закидыванием значения переменной ее в true.
      То есть выражение без учета ограничения на многопоточку (а сейчас в коде нет переключения обратно в false и не будет), имеет вид (true)? 1 : 0. У нас нет варианта, когда вернется 0. Мы можем просто пробросить 1 в playerpref.

    • @rugewit5775
      @rugewit5775 3 года назад

      @@ascamond 1. У нас есть PlayerPrefs.GetInt("isFirst"). Данный метод нам возвращает int (а не bool). Наша переменная isFirst, в которую мы должны загрузить данные, является типом bool. Поэтому нам нужно конвернуть. Делаем мы это следующей строчкой isFirst = PlayerPrefs.GetInt("isFirst") == 1 ? true : false, можно было бы и другим способом.
      2. Тут уже дело вкуса. На мой взгляд, лучше так оставить, потому что в будущем мы можем ,например, переписать код, убрав isFirst = true, может возникнуть ситуация, что isFirst = false, а мы забыли PlayerPrefs.SetInt(1) на 0 поменять, с помощью нашей конструкции PlayerPrefs.SetInt("isFirst", isFirst ? 1 : 0) значение, которые мы туда закидываем, связано с переменной isFirst, что уменьшит кол-во ошибок.

    • @ascamond
      @ascamond 3 года назад

      @@rugewit5775 в первом случае PlayerPrefs. GetInt("isFirst") == 1 вернет bool. == - оператор сравнения. Там бесполезный тернарник висит. Тернарник на вход сам по себе принимает bool. Индийский код получается.
      UPD: я бы согласился на счет второго пункта, если бы единственным вариантом сброса не была бы деинсталяция игры или полный сброс прогресса. Да и факт, что функция вызывается, когда нам надо залочить ачивку намекает на то, что isFirst тут должно лочится при вызовы. Возможно такая запись лучше для юзера(если мы под юзером подразумеваем кодера, который будет за нами тянуть проект, конечно), но ведет к спагетти коду. Нам это не надо.

    • @rugewit5775
      @rugewit5775 3 года назад

      @@ascamond а, я понял тебя, да в п1 там действительно тернарник лишний.

  • @user-ev2pc9fp4i
    @user-ev2pc9fp4i Год назад +1

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    public class Achivments : MonoBehaviour
    {
    public int totalmoney;
    public int money;
    public Button FirstAch;
    public Button SecondAch;
    public bool isFirst = true;
    public bool isSecond = true;
    void Start()
    {
    totalmoney = PlayerPrefs.GetInt("TotalmOney");
    money = PlayerPrefs.GetInt("MOney");
    isFirst = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsFirst"));
    isSecond = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsSecond"));
    if (isSecond == true)
    {
    PlayerPrefs.SetInt("IsSecond", 1);
    }
    if (isFirst == true)
    {
    PlayerPrefs.SetInt("IsFirst", 1);
    }
    }
    public void Get1Ach()
    {
    if (totalmoney >= 10 && isFirst == true)
    {
    PlayerPrefs.SetInt("IsFirst", 0);
    FirstAch.interactable = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsFirst"));
    isFirst = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsFirst"));
    money += 10;
    totalmoney += 10;
    PlayerPrefs.SetInt("MOney", money);
    PlayerPrefs.SetInt("TotalmOney", totalmoney);
    }
    }
    public void Get2Ach()
    {
    if (totalmoney >= 100 && isSecond == true)
    {
    PlayerPrefs.SetInt("IsSecond", 0);
    SecondAch.interactable = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsSecond"));
    isSecond = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsSecond"));
    money += 100;
    totalmoney += 100;
    PlayerPrefs.SetInt("MOney", money);
    PlayerPrefs.SetInt("TotalmOney", totalmoney);
    }
    }
    // Update is called once per frame
    void Update()
    {
    FirstAch.interactable = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsFirst"));
    SecondAch.interactable = System.Convert.ToBoolean(PlayerPrefs.GetInt("IsSecond"));
    }
    }
    Вот я изменил немного код. А тот что автор показывает он не работает. Наверное у меня слишком громоздкий код и наверное можно кое-что подправить. Этот код вешаете на пустышку или на другой объект в Unity, потом засовываете в функцию OnClick на кнопке и выбираете метод который вам нужен.

    • @kystiksss
      @kystiksss Год назад

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

    • @user-ev2pc9fp4i
      @user-ev2pc9fp4i Год назад

      @@kystiksss Да я тоже этот косяк заметил, поэтому просто сделай для каждой кнопки отдельный скрипт, например вот код для второго достижения:
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      using UnityEngine.UI;
      public class GetSecondAch : MonoBehaviour
      {
      public int TotalMoney;
      public int Money;
      public bool IsSecond;
      public Button SecondButton;
      [SerializeField] AudioSource SecondAudioSource;
      void Start()
      {
      TotalMoney = PlayerPrefs.GetInt("tm");
      Money = PlayerPrefs.GetInt("mon");
      IsSecond = System.Convert.ToBoolean(PlayerPrefs.GetInt("/2"));
      if (IsSecond == true)
      {
      SecondButton.interactable = false;
      }
      }
      public void Get2Ach()
      {
      if (TotalMoney >= 100 && IsSecond == false)
      {
      TotalMoney = PlayerPrefs.GetInt("tm");
      Money = PlayerPrefs.GetInt("mon");
      TotalMoney += 100;
      Money += 100;
      PlayerPrefs.SetInt("/2", 1);
      PlayerPrefs.SetInt("tm", TotalMoney);
      PlayerPrefs.SetInt("mon", Money);
      SecondAudioSource.Play();
      SecondButton.interactable = false;
      }
      }
      void Update()
      {

      }
      }

  • @Fider_lik
    @Fider_lik 2 года назад +2

    Скажите пж, что делать с ошибкой SceneManagement does not exist in the current context ?

    • @lemanbr
      @lemanbr 2 года назад

      Тоже самое

    • @Fider_lik
      @Fider_lik 2 года назад

      Я нашёл проблему. Нужно написать в коде не SceneManagenent а SceneManager. Это из за невнимательности(

  • @user-cc3fn2iu2y
    @user-cc3fn2iu2y 3 года назад +1

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

    • @ills2
      @ills2 3 года назад

      Попробуй переписать код

    • @ZkeeeRus
      @ZkeeeRus 3 года назад

      Возможно условие написано уже истинным

  • @whoisphanta272
    @whoisphanta272 2 года назад

    При запуске пропадает галочка в пункте Is First , в чем дело?

  • @limepik3241
    @limepik3241 2 года назад

    У меня такая ошибка NullReferenceException: Object reference not set to an instance of an object
    AchMenu.Start () (at Assets/Scripts/AchMenu.cs:23)

    • @scxxxred
      @scxxxred 2 года назад

      Не нашел решение?

    • @silvera_tv
      @silvera_tv Год назад

      @@scxxxred В новой сцене удалите скрипт с камеры, который скопировался вместе со сценой. В нем есть ссылки на объекты, которых нет в новой сцене

  • @Evtam_channel
    @Evtam_channel 2 месяца назад

    Какой же ужас по поводу кода.
    Во-первых, вы не используйте встроенный в кнопку эвент OnClick(), или лучше использовать слушателей, чтобы задать ссылку на эвент кнопки прямо в коде.
    Во-вторых, ачивки можно сделать через Dictionary - первое название ачивки, второе статус получение. Ваш пример рабочий, но очень плох, потому-что ачивок может быть 10+.
    В любом случае желаю удачи в совершенствование кода.

  • @Alexandr_Partikevich
    @Alexandr_Partikevich 2 года назад +1

    Почему вылетает ошибка cs7036???

  • @Kava-kay
    @Kava-kay 7 месяцев назад +1

    У меня кнопка не работает, помогите пожалуйста

    • @ahk_lzt
      @ahk_lzt 6 месяцев назад +1

      Не используй Event Trigger

  • @to4eban535
    @to4eban535 Год назад

    Что желать, если кнопка назад в достижениях не работает. Я закрепил на ней Event trigger в нём добавил pointer click закрепил main camera и указал в скрипте main menu пункт ToMenu, но программа не воспринимает кнопку и даёт ошибку NullReferenceException. Помогите пожалуйста.

    • @wizzi3668
      @wizzi3668 Год назад +1

      Такая же проблема... смог решить?

  • @gre4a115
    @gre4a115 3 года назад +2

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

    • @Eugene-dp9kg
      @Eugene-dp9kg 3 года назад +1

      +

    • @machi3131
      @machi3131 3 года назад

      Всм? Объясни конкретнее проблему

    • @gre4a115
      @gre4a115 3 года назад

      @@machi3131 уже магическим образом решил, спасибо)

    • @Eugene-dp9kg
      @Eugene-dp9kg 3 года назад

      @@machi3131 ну лично у меня, я все сделал правильно, написал код для очивок, сделал так чтоб оно переключало с меню на очивки, он кнопка достижения не работает

    • @machi3131
      @machi3131 3 года назад

      @@Eugene-dp9kg если я тебе дам свой дс, сможешь туда написать?

  • @VerseSD
    @VerseSD Год назад

    Какой скрипт надо поставить на кнопку возврата в меню?

    • @dm.kuznetsov
      @dm.kuznetsov Год назад

      Подскажи ответ на этот вопрос.

  • @Atom4ik50
    @Atom4ik50 7 месяцев назад

    сделал всё как на видео но кнопки выйти в главное меню нету помогите пожалуйста!!!

    • @ahk_lzt
      @ahk_lzt 6 месяцев назад

      Создай :D

  • @notuzo
    @notuzo 3 года назад

    Что делать?
    Assets\Scripts\AchMenu.cs(15,54): error CS1056: Unexpected character '?'

    • @notuzo
      @notuzo 3 года назад

      Вот весь мой код
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      using UnityEngine.UI;
      using UnityEngine.SceneManagement;
      public class AchMenu : MonoBehaviour
      {
      public int total_money;
      [SerializeField] Button firstAch;
      [SerializeField] bool isFirst;
      void Start()
      {
      total_money = PlayerPrefs.GetInt("‎total_money"‎);
      isFirst = PlayerPrefs.GetInt("isFirst") == 1 ? true : false;
      if (total_money >= 10 && !isFirst)
      {
      firstAch.interactable = true;
      }
      else
      {
      firstAch.interactable = false;
      }
      }
      public void GetFirst()
      {
      int money = PlayerPrefs.GetInt("money");
      money += 10;
      PlayerPrefs.SetInt("money", money);
      isFirst = true;
      PlayerPrefs.SetInt("isFirst", isFirst ? 1 : 0);
      }

      public void ToMenu()
      {
      SceneManager.LoadScene(0);
      }

      void Update()
      {

      }
      }

    • @notuzo
      @notuzo 3 года назад

      ВСЕ ИСПРАВИЛОСЬ!

    • @LaiNfn
      @LaiNfn 2 года назад

      @@notuzo как?

    • @notuzo
      @notuzo 2 года назад

      @@LaiNfn легко

  • @gametorrent4136
    @gametorrent4136 3 года назад +1

    почему у меня число заработанных денег находиться под фоном
    монетка магазин достижения у меня стоят нормально но число заработанных денег под фоном
    как это решить?

    • @ebebee340
      @ebebee340 3 года назад +1

      ты фон перенеси в самый верх канваса

  • @No1ce00
    @No1ce00 2 года назад

    Assets\Scripts\MainMenu.cs 5.34 error cs1002: ; expected чё делать

  • @user-gq7vs8jl3t
    @user-gq7vs8jl3t Год назад

    Шо делать? Assets\scripts\MainMenu.cs(26,9): error CS0103: The name 'SceneManagement' does not exist in the current context

    • @lilik66games
      @lilik66games Год назад

      там всё просто у тебя просто там два разных названия например public class SceneManagement а папка называется Main menu тебе просто нужно либо переменовать в самом скрипте либо в название скрипта главное они должны быть одинаковыми

  • @denisann8493
    @denisann8493 9 месяцев назад

    Сначала скейлишь кнопку, потому не знаешь как пофиксить растянутый внутри неё текст) Так не скейли кнопку)

  • @NeNechaev
    @NeNechaev 2 года назад

    а почему у меня не сохраняются деньги в игре ?хоть я полностью переписал скрипт

  • @ade9762
    @ade9762 3 года назад

    Помогите у меня баг текст налаживается друг на друга тоесть у меня уже 10 монет но 9,8,7,6 и ТД. не исчезают

  • @user-db2cq6wp1w
    @user-db2cq6wp1w 2 года назад

    Assets\Scripts\Menu.cs(25,9): error CS0103: The name 'ScreenManager' does not exist in the current context
    помогите решить эту проблему пожалуйста

  • @amerser3
    @amerser3 Год назад

    Делал все по видео но вылезла ошибка The script 'AchivementMenu' does not contain a class derived from UnityEngine.MonoBehaviour

    • @amerser3
      @amerser3 Год назад

      В общем решил проблему, просто перезапустив юнити, хотя пол часа рылся в инете с этой проблемой, говорили и имя поменять, и ещё чет, в общем перезапустил и работает

  • @user-ue6un1gl3d
    @user-ue6un1gl3d 3 года назад

    error CS0246: The type or namespace name 'Button' could not be found (are you missing a using directive or an assembly reference?)
    В чем может быть проблема?

    • @VIoletteVI17
      @VIoletteVI17 2 года назад

      как решил?

    • @darkc66l78
      @darkc66l78 2 года назад

      ТЫ ЗАБЫЛ НАПИСАТЬ using UnityEngine.UI; В НАЧАЛЕ КОДА

  • @IdcSomeone
    @IdcSomeone 2 года назад

    Assets\Scripts\MainMenu.cs(23,33): error CS1002: ; expected ??

  • @Donya_TF-TeamFersit
    @Donya_TF-TeamFersit 3 года назад +1

    Де 3 часть

  • @ef0grplay653
    @ef0grplay653 2 года назад

    Помогите!!! У меня галочка Is First убирается. Что делать?

  • @GenCid0r
    @GenCid0r 3 года назад +5

    как кнопку выхода то сделать?

    • @parateam
      @parateam 3 года назад +1

      сделай кнопку которая делит на 0 :)

    • @Seveneight7.8
      @Seveneight7.8 3 года назад

      @@parateam на ноль делить нельзя

    • @parateam
      @parateam 3 года назад

      @@Seveneight7.8 все правильно. Программа поделит на ноль и крашнется

  • @mink_beautiful
    @mink_beautiful 2 года назад

    что значит с помощью тернарного оператора?(просто у меня не работает)

  • @the_zlaylon
    @the_zlaylon 2 года назад

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

    • @тейкен
      @тейкен 2 года назад

      Visual Studio

    • @davka_putin_zloi
      @davka_putin_zloi 2 года назад +1

      у него visual studio, но можешь использовать visual studio code он лучше

  • @crazyout3879
    @crazyout3879 2 года назад

    У меня фон перекрывает кнопки, и не растягиваеться

  • @defom_kills
    @defom_kills 2 года назад

    сцены не переходят. выдает ошибку что нету такой вещи как сцен менеджмент

    • @user-fn6rl6oe4g
      @user-fn6rl6oe4g Год назад

      У меня все работает ищи ошибку в коде

  • @user-dp8du9tr8h
    @user-dp8du9tr8h 2 года назад

    ПОЧЕМУ У МПНЯ НЕТ КНОПКИ MAIN MENU TO ACHIEVEMENTS????

  • @user-yr2kt4dz1x
    @user-yr2kt4dz1x 2 года назад

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

    • @Portal0000-tw
      @Portal0000-tw Год назад

      ответ где-то внизу комментариев в ответе

  • @hottosxz
    @hottosxz 7 месяцев назад

    как сбросить сохранение значения ?

  • @tanercoder1915
    @tanercoder1915 3 года назад

    откуда ты берешь такие крутые активные обои?

  • @cutvideo1546
    @cutvideo1546 2 года назад

    NullReferenceException: Object reference not set to an instance of an object
    MainMenu.Update () (at Assets/Scripts/MainMenu.cs:32)
    у меня ошибку такую выдаёт, не знаешь как решить?

    • @cutvideo1546
      @cutvideo1546 2 года назад

      void Update()
      {
      moneyText.text = money + "$";
      }
      строка что по середине и есть 32