Как сделать 2D платформер на Unity | #1

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ม.ค. 2021
  • В этом видео мы начнём создавать 2D платформер на движке Unity.
    Добавим фон, платформы для уровней, а также самого игрового персонажа.
    Скачать пак графики для платформера:
    Яндекс. Диск - yadi.sk/d/oDaUkuSYI3m0Ew
    Гугл Диск - drive.google.com/file/d/1zARN...
    Как сделать 2D платформер на Unity | #1
    unity, как создать игру, разработка игр, unity уроки, создание игр, unity tutorial, unity 2d, платформер, как сделать игру, unity 3d, unity3d, 2d платформер, юнити, c# уроки, c#, c# unity, 2d, с# unity уроки, как скачать юнити, c# tutorial, cube company, c# unity tutorial, как сделать свою игру, програмирование, visual studio, learn unity c#, c# for unity, как начать создавать игры, c# dersleri, unity 2d tutorial, learning c# for unity, learn c#, learn c# for unity, курс по изучение с# unity, игры, c# tutorial for beginners, создание, геймдев, игра, для начинающих, создание игр unity, game, unity2d, platformer, 2д, как создать, tutorial, анимация, как создать свою игру, создание игр для новичков, как, gamedev, разработка, разработчик игр, обучение, инди игры, программирование, юнити уроки, design, основы, sprites, indie gamedev, геймдизайн, как сделать, unity уроки для начинающих, graphical, создание платформера unity, дизайн, графика, уроки по unity, assets, урок, игровые движки, уроки, персонаж, 2d игра, games, создание 2d игры, гайд, 2d platformer, unity 2d уроки, game dev, how to make game, unity 2d платформер, move, unity 5, код, создание игры, 2d platformer unity, asset store, animation, unity 3d tutorial, game dev для начинающих, спрайты, си шарп, как создать платформер на юнити, castadude, beginner, первая игра, unreal, юнити 3д, создание игр в unity, геймдев с нуля, android, управление в платформере на юнити, brackeys, уроки по юнити, development, develop, создание платформера на юнити, платформер юнити, геймдев с чего начать, как сделать управление на юнити, создание игры на unity, как создать игру на андроид, как сделать платформер, unity2d платформер, tutorials, 2д платформер, artalasky, пиксельарт, заргеймдев, юнити2д, #уроки, для ничинающих, юнити 2д, уроки на русском, unity tutorial 2d, 2d unity, easy, курсы программирования, прыжок, unity создание игр, игра на unity, движение, jump, 2d спрайты, создать игру бесплатно, создание 2d игр, unity платформер уроки, 2d платформер на unity, игровая графика, игровой движёк, как создать игру на unity, уроки unity, упровление в unity, #unity, game design, zargamedev, графика для игр, void, войд, студия, public, паблик, unity 2д платформер, bool, privat, прайвет, вижуал, юнити анимация персонажа, работа с персонажом, animations, flip, как создать 2d платформер, code, visual, юнити анимация, платформер на андроид unity, studio, как создать 2d платформер на unity, бул, stickman game, создание игры stickman, создание игры на unity 2d, создание босса, ultima offline, unity stickman, создание игры на unity 2d платформер, игра на unity 2d, unity ragdoll, tgrey, за три минуты, №2, up, cube, вверх, unity 2d для начинающих, создание персонажа, легко, №4, стрельба, 2д-платформер, арталаски, джойстик юнити, course, unity2d смерть персонажа, unity2d воскрешение, переход между сценами, unity2d переход между сценами, счетчик монет, unity2d scenemanagement, scenemanagement, введение, фикс прыжка, главное меню, ui графика, монетки в unity, сбор монет, разработка игры, python pygame, pygame уроки, создание 2d платформера, python на практике, плавная камера, vector3.lerp, unity coint collect, сбор монеток в unity, №3, игрок, атака персонажа, unity c#, онлайн обучение, любимая школа, айти геник, айтигеник, itgen, программист, школа для детей, создание врага, пауза, платформер на unity, персонаж для игры, itgenio, айтигенио, unity game, разработка игр на unity, tutorial unity, 3d unity game, unity 2019, разработка игр на андроид, unity platformer, твоя первая игра на unity, платформер на юнити, твоя первая игра на юнити, unreal engine 4, уроки python, pygame, to, howto, how, textures, models, learn, перевернуть, basic, coding, programming, series, texture, model, создание 2д платформера на юнити, bloodlust, создание игры на юнити 5, как сделать 2д игру на юнити, как сделать игру без программирования, юнити 5 урок, юнити 5 уроки платформер, asset, как сделать свою игру на юнити, как создать свою игру на андроид, платформер на unity 5

ความคิดเห็น • 2K

  • @pipidastr
    @pipidastr 2 ปีที่แล้ว +506

    ###У кого не смещаются системы координат###
    Возле элементов управления: перетаскивание, перемещение, вращение и тд(под панелью управления где файл, едит, ассетс и тд)) после гаечного ключа с карандашом есть две кнопки: на одной надпись центр, на другой - глобал. Нажимаете на кнопку центр и она меняется на пайвот. После этого двигаете сам спрайт и при нажитии на обьект херо все получится. Методом тыка понял. Кому не сложно - лайкните, дабы поднять вверх и помочь другим.

    • @cookiefbi5970
      @cookiefbi5970 2 ปีที่แล้ว

      лучший

    • @ginso0
      @ginso0 2 ปีที่แล้ว

      СПС

    • @zaydex9128
      @zaydex9128 2 ปีที่แล้ว +3

      Нифига непонятно, спасибо

    • @MER8T
      @MER8T 2 ปีที่แล้ว

      красава помогло

    • @ginso0
      @ginso0 2 ปีที่แล้ว

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

  • @LeonidSpartan1
    @LeonidSpartan1 ปีที่แล้ว +294

    Очень классная подача инфы, все получилось, спасибо 👍
    Для тех, кто столкнулся с отличиями в новой версии редактора (2021.3.8f1)
    - при добавлении спрайта можно выбирать Sprites - Square, это то же самое что и у автора
    - если есть проблемы со смещением точки координат - во вкладке Scene, верхняя левая кнопка (если на нее навести то всплывет подсказка "Toogle Tool Handle Position"), нажимаешь на нее и выбираешь в меню Pivot, после этого все получится как в ролике
    - если персонаж при прыжке улетает в космос, попробуйте увеличить Mass (в моем случае пришлось поднять до 90, чтобы были адекватные прыжки)
    В остальном сделал все в точности как в ролике, все работает

    • @GogaPlayBeats
      @GogaPlayBeats ปีที่แล้ว +8

      Спасибо бро!

    • @ageeluy2930
      @ageeluy2930 ปีที่แล้ว +11

      ТЫ ПРОСТО КОСМОС ! СПАСИБО

    • @SovaVShapke
      @SovaVShapke ปีที่แล้ว +9

      герой который не носит плащ...

    • @Shinaolek
      @Shinaolek ปีที่แล้ว +3

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

    • @minecraft8q9
      @minecraft8q9 ปีที่แล้ว +1

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

  • @user-bc8os3yb7z
    @user-bc8os3yb7z 2 ปีที่แล้ว +2

    Начал создавать платформер по твоим урокам, доступно и понятно объясняешь, всё круто

  • @Mirowoolf
    @Mirowoolf 3 ปีที่แล้ว +8

    Спасибо за видео! Начал изучать Unity по твоим видео!

  • @cor4ik871
    @cor4ik871 ปีที่แล้ว +137

    Решение двух проблем с которыми столкнулся я и не только:
    1.Если вас персонаж при прыжке улетает в космос то вам надо просто изменить силу прыжка в инспекторе Hero,там снизу будет ваш скрипт в графе Jump Force ставьте так что бы он прыгал адекватно(у меня 6)
    2. Если у вас персонаж не прыгает после checkGround то в методе checkground измените радиус с 0.3f до 0.8f

    • @hellnetwork1677
      @hellnetwork1677 ปีที่แล้ว +1

      Спасибо , очень помогли

    • @chaosdead9083
      @chaosdead9083 ปีที่แล้ว +1

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

    • @cor4ik871
      @cor4ik871 ปีที่แล้ว +1

      @@chaosdead9083 square

    • @MisterMarioYT
      @MisterMarioYT ปีที่แล้ว

      спасибо огромное за второй совет. когда у меня было 0.3 персонаж не всегда прыгал, а после того как я поставил 0.8 персонаж прыгает при каждом нажатии пробела! спасибо!

    • @rajzer1844
      @rajzer1844 ปีที่แล้ว +3

      ребят, у меня проблемки появилась:
      1. У меня герой прост так падает сквозь все и когда я удаляю rb2D он не падает, можете помочь разобраться с этим //второй день пытаюсь исправить эту ошибку, вот никак.
      2. Проблема после добавления Grounded герой прост не прыгает больше.
      Надеюсь на вашу помощь)

  • @WorldofHipHopRap
    @WorldofHipHopRap 3 ปีที่แล้ว +6

    Супер! Спасибо большое за подробный урок. Респект учителю 🤘😊

  • @wmp3920
    @wmp3920 ปีที่แล้ว +2

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

  • @G33ZX
    @G33ZX 2 ปีที่แล้ว +3

    Наконец то нашель дельный урок по Юнити. Ни в одном видео так просто и без лишней воды объяснялось, как создать поатформер. Большое спасибо!

  • @MisterMarioYT
    @MisterMarioYT ปีที่แล้ว +5

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

  • @Maximple
    @Maximple 3 ปีที่แล้ว +17

    Всё четко объясняешь и показываешь) Приятно смотреть😊

  • @cryzz0n
    @cryzz0n 2 ปีที่แล้ว +7

    Понравился урок. А именно то, что в коде не свалено всё в кучу, как у некоторых других блогеров, а расписано по методам. Я считаю что так намного правильней учится. Подписался)

  • @user-ov5rd1nf8i
    @user-ov5rd1nf8i ปีที่แล้ว

    Спасибо за гайд. Пока только начал смотреть, но написал заранее коммент, чтоб продвинуть канал. Спасибо чел =)

  • @karasbrawl9311
    @karasbrawl9311 3 ปีที่แล้ว +8

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

    • @saba1043
      @saba1043 ปีที่แล้ว +4

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

  • @valerysemenkin6024
    @valerysemenkin6024 2 ปีที่แล้ว +3

    Спасибо большое за ролики. Надеюсь на твой успех также как и на свой))

  • @user-ll4yv6dq5k
    @user-ll4yv6dq5k ปีที่แล้ว +1

    Спасибо за туториал, надеюсь что канал посмотрят как больше людей.

  • @s3doyyy
    @s3doyyy 2 ปีที่แล้ว +3

    Вау, все круто с 6 минуты подписался!

  • @Kolevell
    @Kolevell 2 ปีที่แล้ว +24

    Что бы поставить несколько блоков в ряд можно не создавать несколько спрайтовых объектов и ставить в ряд(как это показано в видео). Для упрощения работы можно просто в инспекторе спрайта самой картинки Mesh Type сделать Full Rect.
    Затем перетягиваем спрайт на объект как в видео и уже на этом спрайтовом объекте ниже в инспекторе видим Draw Mode который переключаем на Tiled и по сути можно растянуть на нужную дину, но нужно учесть что в высоту он тоже дублирует объекты (в данном случае блоки земли) поэтому удерживаем высоту в один блок, но если вытянуть в верх надо то тоже норм, но чтобы сразу в две стороны вытягивать все же придется создать еще один объект.
    К слову надо учесть что внезапно спрайт по какой-то причине может сплющить (к сожаления не до конца разобрался) и вывести два сплющенных изображения на месте одного блока. Поэтому следом в draw mode под size выбираем у Tile mode -> Adaptive и перетаскиваем ползунок под ним до значения 1, тогда все коректно отображается.
    Ну и затем просто растягиваем бокс колайдер по контуру. Как по мне это в разы быстрее чем пытаться выставить несколько одинаковых блоков в ряд.

    • @user-nb9ks9hi7g
      @user-nb9ks9hi7g 2 ปีที่แล้ว

      Да, тоже получилось. Только в Adaptive ползунок на 0

  • @mrreadcode9341
    @mrreadcode9341 3 ปีที่แล้ว +16

    Хорошая работа, продолжай. Надеюсь, мы сделаем то же самое на канале

  • @pv4nik
    @pv4nik 2 ปีที่แล้ว

    Вот мне нравится видео с такой спокойной музычкой,и если там ещё спокойный голос,то вообще топчик!

  • @viplikeit
    @viplikeit 6 หลายเดือนก่อน +1

    очень полезные 13 минут, спасибо большое, будем смотреть дальше

  • @Flegni
    @Flegni 2 ปีที่แล้ว +24

    Немного о том, кто поэтапно разбирает видеоролик, и у кого ошибки такого рода:
    Assets\Scripts\Hero.cs(8,34): warning CS0414: The field 'Hero.lives' is assigned but its value is never used
    Сделайте так:
    [SerializeField] private float speed = 3f; // Скорость двжиения
    //[SerializeField] private int lives = 5; // Кол-во жизней
    //[SerializeField] private float jumpForce = 15f; // Сила прыжка
    Если вы конкретно все делаете поэтапно, то они вам помешают т.к. не дадут возможность потестить ходьбу игрока (Потому что на момент того, как вы хотите проверить ходьбу, данные переменные нигде не используются и что-то ругается), после того как вы их закоментируете, сможете проверить передвижение. После так-же поэтапно, как будете доходить до момента применения live/jumpforce просто уберите два слеша.
    Так-же про тех кто не может найти две кнопки, которые описал Alexey Matushkin
    Нажмите на своего Hero во вкладке Hierachy и после нажмите на Sprite, который вложен в Hero, после этого загляните в Inspector и в Sprite Renderer буден функция "Sprite Sort Point" там выбран Center поменяйте его на Pivot, вауаля, и все работает.
    Если у кого-то не так, простите, я описал то, что конкретно помогло мне.

  • @seizhak353
    @seizhak353 3 ปีที่แล้ว +2

    Большое спасибо за урок, ты очень доступно объясняешь

  • @user-ey7dw4uj6q
    @user-ey7dw4uj6q ปีที่แล้ว

    Спасибо за труды! Отличное видео.

  • @user-de7br6qs7h
    @user-de7br6qs7h ปีที่แล้ว

    Спасибо за урок, классный! Попробую поиграться =)

  • @owatch4333
    @owatch4333 3 ปีที่แล้ว +3

    Спасибо за видео, обьясняешь хооошо для новичка , все понятно )

  • @woof448
    @woof448 3 ปีที่แล้ว +70

    у меня система координат двигается вместе с колайдером

    • @L4ke_221
      @L4ke_221 3 ปีที่แล้ว +1

      +

    • @xxxeee1256
      @xxxeee1256 3 ปีที่แล้ว +2

      Решил?

    • @xxxeee1256
      @xxxeee1256 3 ปีที่แล้ว +1

      @@L4ke_221 решил проблему?

    • @user-bh7ji9jj4h
      @user-bh7ji9jj4h 3 ปีที่แล้ว +31

      Там сверху есть кнопка center(под вкладкой window), на неё надо нажать, что бы Pivot было написано

    • @woof448
      @woof448 3 ปีที่แล้ว

      @@xxxeee1256 решил чел сверху

  • @user-ey2lb3fr5r
    @user-ey2lb3fr5r 3 ปีที่แล้ว

    Спасибо тебе большое, желаю удачи и продвижения канала!

  • @DrillMan681
    @DrillMan681 ปีที่แล้ว +1

    Огромное спасибо! Бро раньше я не мог делать 2D игры потому что не знал как сделать контроллер а ты показал огромное спасибо тебе и успехов в жизни!!!!!!!

  • @mikhailsivtsov
    @mikhailsivtsov 3 ปีที่แล้ว +8

    Отличное видео, для новичков познавательно!

  • @BernardGamer123
    @BernardGamer123 3 ปีที่แล้ว +30

    вижу монтаж по-тихоньку лучше становится, молодец👍

  • @user-rx9nx3ik3y
    @user-rx9nx3ik3y ปีที่แล้ว

    Спасибо! Отличные уроки.

  • @alloeble
    @alloeble 2 ปีที่แล้ว +1

    посмотрел 5 минут, но чую прям то что надо!

  • @looolz6549
    @looolz6549 3 ปีที่แล้ว +3

    о новая рубрика, класс👍

  • @Komar0ne
    @Komar0ne ปีที่แล้ว +7

    У меня проблема с прыжком, вернее с ним всё правильно. Дело в Hero, я не могу переместить точку перемещения, когда подправляю коллайдер эта точка смещается. Ну и из-за этого по скрипту мой перс не может прыгать. Есть идеи? Помогите пожалуйста!!!

  • @Dana_Khromenko
    @Dana_Khromenko 3 ปีที่แล้ว +1

    О, это просто замечательный ролик. Всё с первого раза легко повторить без ошибок. Буквально полчаса и - оп! - ты с нуля создаёшь магию :-))))

    • @divanozavrRex
      @divanozavrRex 2 ปีที่แล้ว

      Не знаю, честно есть лишь одна проблема. У меня штука для перемещения персонажа, вот вроде внизу и всё ок. Но тут когда запускаю игру она опять становится по деффолту

  • @MihandritBucks
    @MihandritBucks 3 ปีที่แล้ว

    Красавчик , продолжай в том же духе 😎

  • @only4humor461
    @only4humor461 3 ปีที่แล้ว +240

    Держите рабочий код:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Hero : MonoBehaviour
    {
    [SerializeField] private float speed = 3f; // скорость движения
    [SerializeField] private int lives = 5; // скорость движения
    [SerializeField] private float jumpForce = 15f; // сила прыжка
    private bool isGrounded = false;
    private Rigidbody2D rb;
    private SpriteRenderer sprite;
    private void Awake()
    {
    rb = GetComponent();
    sprite = GetComponentInChildren();
    }
    private void FixedUpdate()
    {
    CheckGround();
    }
    private void Update()
    {
    if (Input.GetButton("Horizontal"))
    Run();
    if (isGrounded && Input.GetButtonDown("Jump"))
    Jump();
    }
    private void Run()
    {
    Vector3 dir = transform.right * Input.GetAxis("Horizontal");
    transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
    sprite.flipX = dir.x < 0.0f;
    }
    private void Jump()
    {
    rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }
    private void CheckGround()
    {
    Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
    isGrounded = collider.Length > 1;
    }
    }

    • @hrammer9892
      @hrammer9892 3 ปีที่แล้ว +4

      Спасибо тебе!!!

    • @hrammer9892
      @hrammer9892 3 ปีที่แล้ว +4

      Только можно вопрос, как коды сохранять?

    • @user-kc7kg9om3x
      @user-kc7kg9om3x 3 ปีที่แล้ว +2

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

    • @sh1za452
      @sh1za452 2 ปีที่แล้ว +23

      Перс не прыгает )=

    • @user-kc7kg9om3x
      @user-kc7kg9om3x 2 ปีที่แล้ว +4

      @@sh1za452 +++

  • @user-cj8oy4cj1y
    @user-cj8oy4cj1y 3 ปีที่แล้ว +167

    Вот решение частых ошибок
    1) Не подсвечивается разными цветами например MonoBehaviour тогда надо зайти в юнити->edit->preferences->External Tools тут нажать на Open by file extension и выбрать visual studio community
    2)6:30 Если не показывает систему координат то нажмите кнопку с стрелками под edit
    3)Это конечно сложно назвать решением но смотрите внимательно и повторяйте в точь точь за ним прям очень
    Простите за ошибки я не грамотный

    • @uzshanka1676
      @uzshanka1676 2 ปีที่แล้ว +6

      Все мои ошибки указал, добра тебе

    • @zhantoreyermukhanbetov4239
      @zhantoreyermukhanbetov4239 2 ปีที่แล้ว +1

      Отдуши

    • @Sel1mka
      @Sel1mka 2 ปีที่แล้ว

      Бро, что делать, если когда я жму play земля пропадает, срочно

    • @Lion-programmer
      @Lion-programmer 2 ปีที่แล้ว

      @@Sel1mka Box collider 2D добавить

    • @user-fd9sc1fz6o
      @user-fd9sc1fz6o 2 ปีที่แล้ว +4

      В рай без очереди

  • @raslshow3860
    @raslshow3860 7 หลายเดือนก่อน

    Спасибо, очень крутая подача инфы)

    • @user-gy5ed6qq3g
      @user-gy5ed6qq3g 7 หลายเดือนก่อน

      а как скачать пак графики

  • @dxdrmusic
    @dxdrmusic 3 ปีที่แล้ว +2

    Лучший, спасибо огромное за урок!
    Лайк:)

  • @einstein6451
    @einstein6451 2 ปีที่แล้ว +8

    Начал недавно изучать гейм-дев. Хочу сделать первую игру в качестве обучалки, что да как. Автору спасибо огромное. Всё так чётко и подробно, все ассеты выложил за что отдельный респект.

  • @Rhetms
    @Rhetms ปีที่แล้ว +5

    Действительно хорошая обучалка, отдельное спасибо за разъяснение как работает скрипт и все тонкости)))

    • @user-gy5ed6qq3g
      @user-gy5ed6qq3g 7 หลายเดือนก่อน

      а как скачать пак графики

  • @MARKinc21
    @MARKinc21 2 ปีที่แล้ว +1

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

  • @lexfire7806
    @lexfire7806 8 หลายเดือนก่อน

    Отличная подача и качество кода, все быстро и по делу!

    • @user-gy5ed6qq3g
      @user-gy5ed6qq3g 7 หลายเดือนก่อน

      а как скачать пак графики

    • @user-gm7gp4rf8p
      @user-gm7gp4rf8p 4 หลายเดือนก่อน

      описання чек@@user-gy5ed6qq3g

  • @ghgh-fk5xu
    @ghgh-fk5xu 3 ปีที่แล้ว +3

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

  • @user-cf5ce9ht1s
    @user-cf5ce9ht1s 3 ปีที่แล้ว

    Для создания и публикации в плеймаркет игр на Юнити нужна ее Про версия или достаточно бесплатной Personal с оф.сайта? Или подойдет и пиратка Unity pro c трекеров? ))

  • @missandei6340
    @missandei6340 8 หลายเดือนก่อน

    Спасибо за урок, понравилось!

  • @user-hm5rb6fz6q
    @user-hm5rb6fz6q 3 ปีที่แล้ว +14

    круто, как раз недавно скачал один платформер на телефон, захотел что то подобное сделать

    • @user-sj9wl1oe8n
      @user-sj9wl1oe8n 3 ปีที่แล้ว +1

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

    • @MercifulMarkiz
      @MercifulMarkiz 2 ปีที่แล้ว

      @@user-sj9wl1oe8n А какие есть сайты?

    • @user-sj9wl1oe8n
      @user-sj9wl1oe8n 2 ปีที่แล้ว

      @@MercifulMarkiz посмотри в ютике там есть

    • @MercifulMarkiz
      @MercifulMarkiz 2 ปีที่แล้ว

      @@user-sj9wl1oe8n Что написать нужно в ютике?

    • @user-sj9wl1oe8n
      @user-sj9wl1oe8n 2 ปีที่แล้ว

      @@MercifulMarkiz лучшие сервера для зароботка на своих играх

  • @hamros9796
    @hamros9796 3 ปีที่แล้ว +2

    Спасибо, помог! можно сердечко?

  • @garzvalandar7081
    @garzvalandar7081 2 ปีที่แล้ว

    Хороший ролик, продолжай в том же духе!

  • @user-ts7tj5jy1e
    @user-ts7tj5jy1e 3 ปีที่แล้ว +16

    Очень хороший видеоурок. Всё понятно, код представлен удобно (представлен в виде стоп-кадра с увеличением, так что всё можно разобрать (спасибо за это большое)).

  • @shidever
    @shidever 3 ปีที่แล้ว +6

    Отлично проделанная работа! Замечательно растолкованные и озвученные комментарии к различным строкам кода, так держать! Молодец!

  • @user-hi2qy1id6c
    @user-hi2qy1id6c 2 ปีที่แล้ว

    Урок понравился, спасибо!

  • @MrDnbass
    @MrDnbass 2 ปีที่แล้ว

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

  • @user-iy3zw2bq9t
    @user-iy3zw2bq9t 3 ปีที่แล้ว +6

    Спасибо за видос, но если можно то больше комментариев вовремя работы с интерфейсом unity. Типа что такое крллайдер, зачем он и т. д.

  • @ERrOR2033
    @ERrOR2033 ปีที่แล้ว +11

    Альтернатива проверки состояния IsGrounded (Без использования Update):
    private bool isGrounded = false; // Она уже должна быть создана выше, как в видео
    private void OnCollisionStay2D(Collision2D collision)
    {
    isGrounded = true;
    } //Вызывается когда есть прикосновение коллайдера объекта с другими коллайдерами
    private void OnCollisionExit2D(Collision2D collision)
    {
    isGrounded = false;
    } //Вызывается когда, происходит "выход из коллизии между объектами" (Есть противоположное OnCollisionEnter2D)

    • @Koldevay
      @Koldevay ปีที่แล้ว

      При такой проверке персонаж сможет прыгать при соприкосновениями со стенами

    • @maksarh2833
      @maksarh2833 ปีที่แล้ว

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

    • @dxmp
      @dxmp 11 หลายเดือนก่อน

      Спасибо! Ваш код сильно помог, использую его)

  • @user-sf6sh5lp7o
    @user-sf6sh5lp7o 3 ปีที่แล้ว

    Очень крутой ролик, ты молодец!

  • @user-ci3mk2vs6o
    @user-ci3mk2vs6o ปีที่แล้ว +1

    Ребят. Не получается сместить начало координат на обьекте. Местоположение Hero меняется вместе одновременно с самим спрайтом

  • @goshkaaa
    @goshkaaa 2 ปีที่แล้ว +38

    То чувство когда ты обучаешь лучше чем платные курсы )

    • @romires1905
      @romires1905 ปีที่แล้ว +2

      ага, тольк о не работает и скачет по окнам

  • @user-es7ml4rr4c
    @user-es7ml4rr4c 2 ปีที่แล้ว +4

    ###Еще один способ для тех, у кого не смещаются системы координат:
    В Hierarchy тапаем на спрайт, выставляем в Инспекторе в полях координаты (Position) - Х, Y, Z всё на нули (это положение спрайта относительно основной директории Hero). Это позволит объединить системы координат спрайта и корневой директории Hero. Далее тапаем на сам файл спрайта (внизу в папке с материалами), затем в Инспекторе находим кнопочку "Sprite Editor". В открывшемся окне, в поле Pivot выбираем Bottom Center (Низ центр), дальше вверху в окне жмем Apply (применить). Закрываем окошко, подстраиваем коллайдер (Edit Collider) по границам спрайта - готово.

    • @KalepsJanInc
      @KalepsJanInc 2 ปีที่แล้ว

      спасибо

    • @user-kw8ik4zc5p
      @user-kw8ik4zc5p ปีที่แล้ว

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

    • @user-es7ml4rr4c
      @user-es7ml4rr4c ปีที่แล้ว

      @@user-kw8ik4zc5p понимаю, у самого так же в случае неудач. Что сказать посоветовать? Метод тыка иногда лучший способ

  • @notuzo
    @notuzo 3 ปีที่แล้ว +1

    КЛАСС! ТЫ ТОП!!! Очень понятно, интересно, познавательно!

  • @zakzelman
    @zakzelman 3 ปีที่แล้ว +1

    Аффтор зачот! Хорошо объясняешь в скриптах, что нужно писать, но всем кто тупит советую посмотреть базовый курс по ООП в C#, чтоб хотя бы понимать что такое классы и методы иначе будете сидеть и тупить.

  • @qwester7964
    @qwester7964 3 ปีที่แล้ว +633

    А можно в конце каждого видео показывать весь код ( а то есть люди например как я которым не очень удобно в таком стиле если не сложно то спасибо ) а так всё круто

    • @random4ik_rk
      @random4ik_rk 3 ปีที่แล้ว +12

      да

    • @mr_huro
      @mr_huro 3 ปีที่แล้ว +249

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class player : MonoBehaviour
      {
      [SerializeField] private float speed = 3f;
      [SerializeField] private float jumpForce = 15f;
      private bool isGrounded = false;
      private Rigidbody2D rb;
      private SpriteRenderer sprite;
      private void Awake()
      {
      sprite = GetComponentInChildren();
      rb = GetComponent();
      }
      private void Run()
      {
      Vector3 dir = transform.right * Input.GetAxis("Horizontal");
      transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
      sprite.flipX = dir.x < 0.0f;
      }
      private void Update()
      {
      if (Input.GetButton("Horizontal"))
      Run();
      if (isGrounded && Input.GetButtonDown("Jump"))
      Jump();
      }
      private void FixedUpdate()
      {
      CheckGround();
      }
      private void Jump()
      {
      rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
      }
      private void CheckGround()
      {
      Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
      isGrounded = collider.Length > 1;
      }
      }

    • @davekup2525
      @davekup2525 3 ปีที่แล้ว +28

      @@mr_huro почему у меня работает твой скрипт, но не работает скрипт с видео? там 5 ошибок выскочило

    • @ghoulclounzxc
      @ghoulclounzxc 3 ปีที่แล้ว +9

      @@mr_huro от душы братан

    • @mr_huro
      @mr_huro 3 ปีที่แล้ว +2

      @@davekup2525 не знаю

  • @Noname-rl7ih
    @Noname-rl7ih 3 ปีที่แล้ว +10

    Что делать если после добавления
    (isGrounded &&)
    Перестал работать прыжок
    Объясните пожалуйста

    • @hebxy-dn2wr
      @hebxy-dn2wr 2 ปีที่แล้ว

      нашел ответ?

    • @venompubg69
      @venompubg69 2 ปีที่แล้ว

      @@hebxy-dn2wr, он, наверное, уже забыл)))

    • @hebxy-dn2wr
      @hebxy-dn2wr 2 ปีที่แล้ว

      @@venompubg69 а ты? пххп

    • @tunethedune9075
      @tunethedune9075 2 ปีที่แล้ว

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

  • @kirillmelnikov7576
    @kirillmelnikov7576 ปีที่แล้ว

    спасибоо вам большое ваше видео дало желание учитться

  • @SerMichael
    @SerMichael 7 หลายเดือนก่อน +1

    Можете подсказать, почему при прыжке персонаж вылетает на разную высоту(иногда достает до платформы, а иногда нет)?

  • @user-ov6qd5og2b
    @user-ov6qd5og2b 3 ปีที่แล้ว +4

    Cделал всё то в точь как в видео, но вмест отого чтобы не делать двойной прыжок, герой просто отказывается прыгать,
    версия unity 2020.2.7f1

  • @mistermind174
    @mistermind174 3 ปีที่แล้ว +7

    Если ты ещё читаешь комментарии, может скажешь, в чем проблема строки
    if (isGrounded && Input.GetButtonDown("Jump")) Jump();
    Ввожу так, как она есть и персонаж вообще перестаёт прыгать. Если убрать запись isGrounded &&, то снова идут множественные прыжки.

    • @mistermind174
      @mistermind174 3 ปีที่แล้ว +6

      Все, я нашёл косяк. Проблема была не тут. У меня по какой то причине ось координат никак не желает перемещаться к ногам. Но я нашёл решение. Там, где мы прописывали массив коллайдеров, я указал 0.9f вместо 0.3f и все заработало. Баг был в том, что программа думала, что персонаж всегда в воздухе

    • @finik2562
      @finik2562 3 ปีที่แล้ว

      @@mistermind174 Спасибо тебе огромное!)

    • @vitaliibaryshev7269
      @vitaliibaryshev7269 3 ปีที่แล้ว

      @@mistermind174 Здесь нужно было решать проблему правильным смещением системы координат, чтобы это получилось сделать нужно чтобы опция "Pivot" была включена вместо "Center"

    • @coolbooy9990
      @coolbooy9990 ปีที่แล้ว

      +++

    • @coolbooy9990
      @coolbooy9990 ปีที่แล้ว +1

      @@vitaliibaryshev7269 о спасиба вам , помогло решыть проблему)

  • @BadgersAliance
    @BadgersAliance ปีที่แล้ว

    Чел ты крут, спасибо тебе за труд)

  • @phantom6913
    @phantom6913 3 ปีที่แล้ว

    всё круто! удачи в развитии канала

  • @sympathies1769
    @sympathies1769 3 ปีที่แล้ว +11

    У меня не работает прыжок при: isGrounded = collider.Length > 1; Но если поставить isGrounded = collider.Length < 2; то все будет работать, но прыжок будет бесконечный(точнее, если поставить такое условие для прыжка: if (Input.GetButtonDown("Jump"))
    Jump(); помогите!! Я думаю это потому что у меня массив collider всегда состоит из 1 и итог условия всегда один и тот же..(Решение: нужно переместить систему координат( я думал, что она уже перемещена, а оказывается под вкладкой window в unity должно быть написано Pivot, если написано Center, то просто нажмите и у вас все изменится и вы сможете выставить систему координат так, как нужно)

    • @w1zzyk133
      @w1zzyk133 ปีที่แล้ว

      Ты мне очень помог, Спасибо броу!

    • @AliceDragnil
      @AliceDragnil ปีที่แล้ว

      Не помогло, в чем может быть проблема?

  • @molot1771
    @molot1771 3 ปีที่แล้ว +10

    Я сделал isGrounded как в видео и почему-то у меня персонаж перестал прыгать. Как это решить?

    • @pishy_kommentu
      @pishy_kommentu 3 ปีที่แล้ว

      Ну как решил?

    • @vas1z
      @vas1z 2 ปีที่แล้ว +2

      Ребят!!,У кого после CheckGround не прыгает перс, просто поизменяте последнее число ,там где 0.3f --> Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); Я число 3 поставил и всё прекрасно работает!

    • @snegcode
      @snegcode 2 ปีที่แล้ว +2

      @@vas1z Не рубит

    • @AOH2-bw4ni
      @AOH2-bw4ni 3 หลายเดือนก่อน

      ​@@snegcode ставь 9

  • @mrminecrafter3829
    @mrminecrafter3829 3 ปีที่แล้ว

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

  • @maksimzarubin39
    @maksimzarubin39 ปีที่แล้ว

    Заранее спасибо. Буду смотреть

  • @trash_designer
    @trash_designer 3 ปีที่แล้ว +7

    Круто😍🔝

  • @florestina864
    @florestina864 3 ปีที่แล้ว +9

    Помогите пожалуйста.
    Систему координат у персонажа передвинуть вниз невозможно. То есть когда я её передвигаю вниз, то вместе с ним у меня передвигается коллайдер. А потом я коллайдер передвигаю на персонажа, то потом координаты снова ставятся в середину. И так бесконечно ._. Из-за этого у меня в конце видео не работает прыжок вообще, а просто ходит персонаж.

    • @Alex-tq5fg
      @Alex-tq5fg 3 ปีที่แล้ว

      тоже самое.
      ты смог исправить?

    • @florestina864
      @florestina864 3 ปีที่แล้ว

      @@Alex-tq5fg Да, смогла

    • @Yes.Im.Mr.Anderson
      @Yes.Im.Mr.Anderson 3 ปีที่แล้ว

      @@florestina864 Классно, но как?

    • @kam1zzumi896
      @kam1zzumi896 3 ปีที่แล้ว

      Аналогичная ситуация

    • @florestina864
      @florestina864 3 ปีที่แล้ว

      @@Yes.Im.Mr.Anderson дай свой вк, туда скину)

  • @yavanga6227
    @yavanga6227 2 ปีที่แล้ว +1

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

  • @user-ms6kc8oq4n
    @user-ms6kc8oq4n ปีที่แล้ว +2

    что делать если не получается писать скрипты, либо это visual c# старый либо у меня какая-та ошибка где я не могу писать скрипты как на видео
    ( объяснение ошибки: когда я пишу скрипт то у меня якобы не чего не показывает по типу подсказок что надо писать пример: [SerializeField] но в место этого мне не чего не показывает и якобы эффекта после того как я напишу это не происходит

  • @user-sm2eo7fq7h
    @user-sm2eo7fq7h 2 ปีที่แล้ว +6

    Почему когда я пишу:
    if (isGrounded && Input.GetButtonDown("Jump"))
    Jump();
    когда я добавляю туда isGrounded && персонаж отказывается прыгать?

    • @CinemaRover
      @CinemaRover 2 ปีที่แล้ว

      У меня так же, только он не прыгает на стыках, а по центру квадрата норм

    • @svmrak.
      @svmrak. 2 ปีที่แล้ว

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

    • @wordic6268
      @wordic6268 2 ปีที่แล้ว +2

      isGrounded = collider.Length > 1; Вместо 1, поставь 0.
      isGrounded = collider.Length > 0;

    • @wordic6268
      @wordic6268 2 ปีที่แล้ว

      @@CinemaRover .

    • @wordic6268
      @wordic6268 2 ปีที่แล้ว

      @@svmrak. .

  • @GameBoy-tw6sw
    @GameBoy-tw6sw 3 ปีที่แล้ว +10

    Друзья, вопрос такой. Почему при сдвиге системы координат персонажа, точно так же, как указано в видео, стрелки направления координат х/y двигаются вместе с персонажем и выходят за рамки зелёного квадрата. Т.е. нажимаю на new sprite, затем двигаю персонажа вверх до того места, где находилась ось, после нажимная на Hero, оси находятся не внутри зелёного квадрата, а над ним.

    • @user-ze1dl5bk7x
      @user-ze1dl5bk7x 2 ปีที่แล้ว +2

      Смогли исправить?

    • @user-zw7gw1yq9m
      @user-zw7gw1yq9m 2 ปีที่แล้ว +3

      @@user-ze1dl5bk7x у меня почти такая же проблема,автор забыл видимо пропустил что то показать,потому что делаю все как на видео,а не получается

    • @user-kw8ik4zc5p
      @user-kw8ik4zc5p ปีที่แล้ว

      такая же проблема, повторяю всё как на видео, но бокс коллайдер смещается вниз из-за этого. когда подгоняю его снова по персонажа, то ось тоже сдвигается. бесит, ппц.

    • @k00w111
      @k00w111 ปีที่แล้ว

      объект персонажа с его хитбоксом (зеленым квадратом) - это одно, а спрайт, картинка которую ты двигаешь - это другое. если нужно переместить зеленый квадрат то выбирай в панели объектов самого персонажа

  • @joyotome1725
    @joyotome1725 2 ปีที่แล้ว +1

    После метода сокращения прыжков до 1, персонаж вовсе перестал прыгать. Не подскажите в чем проблема?

  • @kitt_co
    @kitt_co 6 หลายเดือนก่อน

    Подскажите пожалуйста, после сборки проекта персонаж не прыгает, но при этом нормально ходит. Как это можно исправить? Делала как в видео, только силу прыжка меньше делала - 0.1f.

  • @user-vu6dn9il7y
    @user-vu6dn9il7y 3 ปีที่แล้ว +2

    Ребят, подскажите пожалуйста, на 6:16 он настраивает точку координат, я также выставляю её в ноги персонажу, но когда начинаю настраивать BoxCollider2D
    Эта точка координат сбивается, и становиться обратно в центре BoxCollider. Что нужно сделать чтоб и BoxCollider был нормальным, и точка координат персонажа тоже была в ногах?

    • @illiahroshev9546
      @illiahroshev9546 3 ปีที่แล้ว

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

    • @teykolar
      @teykolar 3 ปีที่แล้ว

      @@illiahroshev9546 Спасибо))

  • @thebestname6140
    @thebestname6140 2 ปีที่แล้ว +3

    На 3:47 после вкладки 2д объект, спрайтс выходит выбор типо Square, Circle, Capsule и так далее. Что выбрать, когда надо делать платформу? Заранее спасибо

    • @user-mg6te1kx1v
      @user-mg6te1kx1v 2 ปีที่แล้ว

      Square выбирай, там изменить можно (если я правильно понимаю)

    • @thebestname6140
      @thebestname6140 2 ปีที่แล้ว

      @@user-mg6te1kx1v Спасибо, а вообще всё таки какую версию новичку лучше установить?

    • @Fun_TTime
      @Fun_TTime 2 ปีที่แล้ว

      А когда делаешь персонажа что надо выбирать?

  • @user-ok9vq8wz6e
    @user-ok9vq8wz6e 2 ปีที่แล้ว +2

    Что делать, если после создания скрипта ничего не открывается? Код открывается только через обычный документ Майнкрасофт, с непонятными символами. Нужно установить программу для редактирования кода? Или что?

  • @d1oxyon
    @d1oxyon ปีที่แล้ว

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

  • @nigjya_channel6867
    @nigjya_channel6867 3 ปีที่แล้ว +12

    когда сделал CheckGround у меня перс вообще перестал прыгать что делать?

    • @Kerchik69
      @Kerchik69 3 ปีที่แล้ว

      Хз тоже самое

    • @vas1z
      @vas1z 2 ปีที่แล้ว +7

      Ребят!!,У кого после CheckGround не прыгает перс, просто поизменяте последнее число ,там где 0.3f --> Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); Я число 3 поставил и всё прекрасно работает!

    • @A3temii
      @A3temii 2 ปีที่แล้ว

      @@vas1z Спасибо Большое тебе!

    • @fizruk5870
      @fizruk5870 2 ปีที่แล้ว

      @@vas1z Спасибо огромное , я пол дня не мог понять что не так

  • @user-xh3cz1rm4d
    @user-xh3cz1rm4d 3 ปีที่แล้ว +32

    Автору спасибо за видео. Информация для тех, у кого проблемы с установлением системы координат к ногам. Под главной панелью управления Unity (у меня прям под Window) есть кнопки "Center" и "Local". При нажатии на них их значения меняются на "Pivot" и "Global". Меняйте значения и системы координат у родительского и дочернего элементов будут разные. Ну и конечный код, а то многие просили. Только не забывайте менять название класса под имя своего скрипта.
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class PlayerCTRL : MonoBehaviour
    {
    [SerializeField] private float speed = 3f;
    [SerializeField] private int lives = 5;
    [SerializeField] private float jumpForce = 15f;
    private bool isGrounded = false;
    private Rigidbody2D rb;
    private SpriteRenderer sprite;
    private void Awake()
    {
    rb = GetComponent();
    sprite = GetComponentInChildren();
    }
    private void FixedUpdate()
    {
    CheckGround();
    }
    private void Update()
    {
    if (Input.GetButton("Horizontal"))
    Run();
    if (isGrounded && Input.GetButtonDown("Jump"))
    Jump();
    }
    private void Run()
    {
    Vector3 dir = transform.right * Input.GetAxis("Horizontal");
    transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
    sprite.flipX = dir.x < 0.0f;
    }
    private void Jump()
    {
    rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }
    private void CheckGround()
    {
    Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
    isGrounded = collider.Length > 1;
    }
    }

    • @vitaliibaryshev7269
      @vitaliibaryshev7269 3 ปีที่แล้ว +3

      Спасибо! Голову ломал, не мог систему координат сделать правильную, Global->Pivot решило проблему.

    • @zboral10
      @zboral10 3 ปีที่แล้ว +1

      Ты просто мой спаситель, благодарю!)

    • @user-xh3cz1rm4d
      @user-xh3cz1rm4d 3 ปีที่แล้ว +1

      @@vitaliibaryshev7269 Обращайтесь

    • @user-xh3cz1rm4d
      @user-xh3cz1rm4d 3 ปีที่แล้ว

      @@zboral10 Обращайтесь

    • @futuremadness
      @futuremadness 3 ปีที่แล้ว +1

      Ты топ!! я несклько дней ломал голову с кодом, всё выдавал ошибки, но ты меня спас! РЕСПЕКТ!!!!

  • @coyoralic
    @coyoralic 2 ปีที่แล้ว

    Спасибо большое очень крутой человек ты

  • @bullet4986
    @bullet4986 2 ปีที่แล้ว +1

    Подскажите пж я когда пишу в коде if (Input.GetButtonDown("Jump"))
    Jump();
    у меня чел прыгает бесконечно раз, а если я пишу if (isGrounded && Input.GetButtonDown("Jump"))
    Jump();
    он перестает вообще прыгать. Как исправить? Вот весть код:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Hero : MonoBehaviour
    {
    [SerializeField] private float speed = 4f; // скорость движения
    [SerializeField] private int lives = 5; // кол-во жизней
    [SerializeField] private float jumpForce = 6f; // сила прыжка
    private bool isGrounded = false;
    private Rigidbody2D rb;
    private SpriteRenderer sprite;
    private void Awake()
    {
    rb = GetComponent();
    sprite = GetComponentInChildren();
    }

    private void FixedUpdate()
    {
    CheckGround();
    }
    private void Update()
    {
    if (Input.GetButton("Horizontal"))
    Run();
    if (isGrounded && Input.GetButtonDown("Jump"))
    Jump();
    }
    private void Run()
    {
    Vector3 dir = transform.right * Input.GetAxis("Horizontal");
    transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
    sprite.flipX = dir.x < 0.0f;
    }
    private void Jump()
    {
    rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }
    private void CheckGround()
    {
    Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
    isGrounded = collider.Length > 1;
    }
    }

  • @mudota7500
    @mudota7500 3 ปีที่แล้ว +4

    Спасибо, чел, всё очень понятно.
    Пересмотрел много роликов на ютабе, и Иммено Твой ролик, показался мне самым понятным.
    (C# и Юнити для меня очень не понятны, ибо н когда не учил.
    Знаю только RenPy🤷‍♂️)

    • @user-oe3xp5ob6b
      @user-oe3xp5ob6b 7 หลายเดือนก่อน

      как успехи?

  • @user-sj9wl1oe8n
    @user-sj9wl1oe8n 3 ปีที่แล้ว +9

    У меня почему то не ходит персонаж, я скрипт написал правильно, что мне делать?
    Не вините за рукожопство

    • @remargoo
      @remargoo 3 ปีที่แล้ว

      У Меня тоже самое

    • @user-qm5sy4qx9y
      @user-qm5sy4qx9y 3 ปีที่แล้ว +3

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class Hero : MonoBehaviour
      {
      public float speed = 10f;
      public int lives = 5;
      public float jumpForce = 15f;
      //private bool isGrounded = false;
      public Rigidbody2D rb;
      public SpriteRenderer sprite;
      private void Run() {
      Vector3 dir = transform.right * Input.GetAxis("Horizontal");

      transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
      sprite.flipX = dir.x < 0.0f; //повертатися в ліво/право
      }
      /*
      private void FixedUpdate() {
      CheckGround();
      }
      */
      private void Update() {
      if (Input.GetButton("Horizontal")) {
      Run();
      }
      if (/*isGrounded &&*/ Input.GetButtonDown("Jump")) {
      Jump();
      }
      }
      private void Jump() {
      rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
      }
      /*
      private void CheckGround() {
      Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
      isGrounded = collider.Length > 1;
      }
      */
      }

    • @user-qm5sy4qx9y
      @user-qm5sy4qx9y 3 ปีที่แล้ว +1

      вот как надо

    • @dkuzia
      @dkuzia 2 ปีที่แล้ว

      @@user-qm5sy4qx9y у меня по этому коду перс не прыгает

  • @geeksspider
    @geeksspider ปีที่แล้ว

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

  • @storeFL
    @storeFL 3 ปีที่แล้ว +59

    видео топ, все понятно, но код... с ним беды, в конце лучше показывать весь

    • @user-fu8mv5ru8v
      @user-fu8mv5ru8v 3 ปีที่แล้ว +13

      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class Player : MonoBehaviour
      {
      [SerializeField] float speed = 3f;
      [SerializeField] int lives = 5;
      [SerializeField] float jumpForce = 15f;
      bool Ground = false;
      Rigidbody2D rb;
      SpriteRenderer sprite;

      void Start()
      {

      }
      // Update is called once per frame
      void Update()
      {
      if (Input.GetButton("Horizontal"))
      Run();
      if (Ground && Input.GetButton("Jump"))
      Jump();
      }
      void Awake()
      {
      rb = GetComponent();
      sprite = GetComponentInChildren();
      }
      void Run()
      {
      Vector3 dir = transform.right * Input.GetAxis("Horizontal");
      transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
      sprite.flipX = -dir.x < 0.0f;
      }

      void Jump()
      {
      rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
      }
      void Grounded()
      {
      Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 1f);
      Ground = collider.Length > 1;
      }
      void FixedUpdate()
      {
      Grounded();
      }
      }

    • @mrminecrafter3829
      @mrminecrafter3829 3 ปีที่แล้ว

      @@user-fu8mv5ru8v спасибо большое !!!

    • @Panzer-Division
      @Panzer-Division 3 ปีที่แล้ว +5

      @@user-fu8mv5ru8v У тебя код с ошибками ,вот я исправил:
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class hero : MonoBehaviour
      {
      [SerializeField] float speed = 3f;
      [SerializeField] int lives = 5;
      [SerializeField] float jumpForce = 15f;
      bool Ground = false;
      Rigidbody2D rb;
      SpriteRenderer sprite;
      void Start()
      {
      }
      // Update is called once per frame
      void Update()
      {
      if (Input.GetButton("Horizontal"))
      Run();
      if (Ground && Input.GetButton("Jump"))
      Jump();
      }
      void Awake()
      {
      rb = GetComponent();
      sprite = GetComponentInChildren();
      }
      void Run()
      {
      Vector3 dir = transform.right * Input.GetAxis("Horizontal");
      transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
      sprite.flipX = dir.x < 0.0f;
      }
      void Jump()
      {
      rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
      }
      void Grounded()
      {
      Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 1f);
      Ground = collider.Length > 1;
      }
      void FixedUpdate()
      {
      Grounded();
      }
      }

    • @worldtechnology7616
      @worldtechnology7616 3 ปีที่แล้ว

      @@Panzer-Division у меня по этому коду перс улетает

    • @user-mh7gc4ne8h
      @user-mh7gc4ne8h 2 ปีที่แล้ว

      @@worldtechnology7616 поставь гравитацию больше и джамп поменьше

  • @katrinselin2537
    @katrinselin2537 3 ปีที่แล้ว +3

    Спасибо за видео! А как исправить то, что персонаж на прыжке просто выпрыгивает за экран? Умножение на jumpForce в методе Jump() вообще убрала, но все равно выпрыгивает. И невозможность прыгать, когда герой в воздухе, тоже не работает. Он продолжает прыгать

    • @user-ie1qr1om9w
      @user-ie1qr1om9w 3 ปีที่แล้ว +2

      у меня ваабще не пригает)

    • @user-tu1cc2go7r
      @user-tu1cc2go7r 3 ปีที่แล้ว +6

      Такая же проблема, получилось решить, изменив массу Hero в настройках RigitBoby 2D

    • @katrinselin2537
      @katrinselin2537 3 ปีที่แล้ว

      @@user-tu1cc2go7r спасибо!)

    • @gtasss5282
      @gtasss5282 ปีที่แล้ว

      только сейчас понял как решить. Он из периода апдейд убрал if с прыжком.

    • @durkin4099
      @durkin4099 ปีที่แล้ว

      @@gtasss5282 он не убрал, он добавил isGrounded &&

  • @Nesel
    @Nesel ปีที่แล้ว +2

    Пересматривал видео кучу раз, не мог решить проблему с прыжком.
    После добавления isGround, персонаж перестал прыгать.
    Я подумал, может функция FixUpdate не выполняется, так как с# я не знаю, был не уверен в том, что я делаю. Я вызвал функцию в Update перед проверками, не знаю, может в другом месте надо, но у меня сработало.
    Персонаж прыгает.

  • @ChampionClab
    @ChampionClab 2 ปีที่แล้ว +1

    Как фон можно поставить обычную картинку jpg? Я вроде добавил ее, но на сцене ее нет

  • @HunkoHS
    @HunkoHS 3 ปีที่แล้ว +8

    Можешь снять видео как ты сам пишешь этот код , заранее спасибо)

    • @ResPack
      @ResPack 3 ปีที่แล้ว +3

      В топ этот коммент!

  • @konwertwert3309
    @konwertwert3309 3 ปีที่แล้ว +3

    Что делать если смешается система координат у челика?

  • @dudundikworld3529
    @dudundikworld3529 2 ปีที่แล้ว

    Спасибо, друг!