Управление Свайпами на Unity / Unity Swipe Controls

Поділитися
Вставка
  • Опубліковано 1 січ 2025

КОМЕНТАРІ • 63

  • @ПавелО-ы4з
    @ПавелО-ы4з 2 роки тому +2

    не понял как этот код должен работать,
    tapPos = Input.mousePosition;
    swipeDelata = (vector2)Input.mousePosition - tapPos; //всегда = 0

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

    Одно из лучших твоих видео, молодец!

  • @Vegon550
    @Vegon550 3 роки тому +3

    А как сделать чтобы шарик перемещался пока ты держишь палец на экране?

  • @zheka4tv209
    @zheka4tv209 Рік тому +3

    Привет. А как сделать так, чтобы вызывать событие можно было только тогда, когда палец именно на той или иной области экрана?

  • @Что-г9е
    @Что-г9е 2 роки тому +3

    def1Nex, спасибо за урок, и основу в коде, я её редактировал и слелал движение игрока вслед за пальцем по x и y одновременно, у меня игрок телепортировался на нулевые координаты, и я это исправлял где-то 2 недели!, и ура я всё сейчас сделал), кому надо могу скинуть код

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

      Привет, можешь скинуть, было бы не плохо посмотреть)

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

    ничего непонятно, но очень интересно

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

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

  • @ОлегХохлов-с8ю
    @ОлегХохлов-с8ю 3 роки тому +1

    Лайк поставил. Норм кино 👍 и тема мне нужная сейчас.
    Но вот говоришь ты очень быстро. 🙂 Я слышать успеваю, а осознать нет. Опыта копейки у меня. Около полгода. Думаю было бы больше, и соображал бы быстрее.

  • @ИлонМаск-р9у
    @ИлонМаск-р9у Рік тому

    а как предыдущее видео называеться где куб двигается?

  • @crazy_way_s
    @crazy_way_s 2 роки тому +2

    Цей код-свайп буде працювати на андроїді? Бо я ще початківець у цьому.

  • @Саммер_Стандофф2

    как сделать какое то любое событие свайпом

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

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

  • @СкадерХортер
    @СкадерХортер 2 роки тому

    Большое спасибо!!!

  • @kenny_mccorm1ck
    @kenny_mccorm1ck 3 роки тому +6

    этот мастер заслужил свои 300 баксов

  • @ПавелДружинин-у3й
    @ПавелДружинин-у3й 3 роки тому

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

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

    А какой должен быть ForceValue?

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

    как определить направление свайпа и конвертировать его в string?

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

      Зачем тебе направление в виде строки? О_О

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

      @@def1NeX я хочу сделать карту которая будет следовать за мышкой. Если повести в право то заюзаеться анимация и карта наколоситься вправо

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

      @@Ilone345 ну так передавай направление вектором, зачем строкой

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

      @@def1NeX мне нужно заюзать анимацию смотря в какую сторону, как сделать проверку этого направления?

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

    а почему не public event Action OnSwipeInput; ?

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

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

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

      @@def1NeX ну там можно также чз запятую их перечислить) ну это так - придирка, сорри) Так просто проще) и на инвоуке можно так писать Invoke?. что проверку не делать. А по теме - впервые делаю тач контроллер и уже употел. Твой урок очень логичный, хорошо структурирован и понятен. И код должен работать. НО он не работает. Я двигаю игрока чз Vector3.MoveTowards, т.к. у меня нет физики в игре. Но проблема в том, что он неправильно считает магнитуду. Постоянно нули выдает. Это может быть связано с тем, как юнити считывает точки касаний с Не ортографической камерой?

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

      @@def1NeX а и кстати: лучше отписываться от подписок в OnDestroy, чтобы память не текла)

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

      @@ginner9635 и что бы Null Referenc'ы не ловить, да. Но я думаю, что это очевидно и люди сами это понимают

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

      @@ginner9635 а я в видео Invoke без ? закастил? Значит ошибся, я всегда его с проверкой юзаю, видимо проглядел).
      По твоему вопросу сложно сказать в чем дело. Можешь в дискорд скрин с частью кода скинуть, посмотрю

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

    После рестарта сцены, вылезает ошибка, чтобы не пытался сделать. Поможешь?
    MissingReferenceException: The object of type 'PlayerController' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.

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

      В объекте в котором ты подписываешься на ивент свайпа (а это PlayerController, я так понимаю) в OnDestroy отписывайся от ивента

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

      @@def1NeX Спасибо, ты не только помог с проблемой , а еще и дал мне новую тему для изучения

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

    Хорошее видео! Спасибо!
    Появилась новая версия input system. Вы сделаете пример этого урока с его использованием?

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

      Да, есть такое в планах

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

    Коммент для продвижения

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

    Спасибо! только одна проблема основной код работает(проверял через дебаг и точки остановки) но вот когда делаю управление для гг он не реагирует на щелчки(подписался на ивент) всё вроде правильно сделал

  • @Рэндяй
    @Рэндяй 2 роки тому

    Привет помоги мне ошибка Assets/SwipeDeyection.cs(53, 33): error CS1002: ; expected
    Assets/SwipeDeyection.cs(79, 5): error CS0106:The modifier 'private' is not valid for this item
    Assets/SwipeDeyection.cs(100, 2): error CS1513:} expected

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

    Кто может подсказать как сделать чтоб куб по свайпам прыгал?

    • @ВикторВорогушин-з4й
      @ВикторВорогушин-з4й Рік тому

      можно через RigidBody добавлять силу в направлении
      делаем поле _rb с типом Rigidbody
      в старте
      _rb = GetComponent();
      ну а дальше при свайпе вверх
      _rb.AddForce(Vector3.up)
      Вроде как то так

  • @البيكبنعركين
    @البيكبنعركين 3 роки тому

    Perfect tutorial please more about android touching okey

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

    ошибка Index out of bounds

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

    Круто конечно, но погугли про IPointClickHandler, iBeginDragHandler, IdragHandler, IEndDragHandler они все из пространства имен UnityEngine.EventSystems, их там еще много но это основные, они сделаны как раз что бы ты не писал Input.gettouch или тоже самое с мышкой, это же мрак, эти интерфейсы дают тебе все нужное и работают как на мобилке, так и на пк.

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

      Да ты что?)) Эти интерфейсы работают при взаимодействии с UI элементами только. Но зачем перед тем как что-то советовать, проверять информацию, да?)

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

      @@def1NeX И все же, зачем городить огород, когда можно воспользоваться более простыми иснтрументами, или у тебя какая-то особенная неприязнь к UI?

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

      @@Fa1ust Это в корне не верно и глупо :DDDDDD
      Насмотрятся туториалов :D
      как минимум сцену гавном засрете :)
      ну вы поймете когда будете ( если будете ) работать в команде или там где есть код ревью, либо когда будете делать свой проект средних размеров и наткнетесь на кучу гавнища лишнего :)

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

    как увеличить скорость ???

    • @unoveb-1394
      @unoveb-1394 3 роки тому

      Когда ты сделал переменную "public float speed;" в юнити будет переменная speed и там сдела хоть 5000

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

    когда там продолжение 2048?)

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

      Осталось только смонтировать. Завтра-послезавтра

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

    Не понял, а 2048 где? 🥺

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

      В 3 части мы прикрутим свайпы к управлению, поэтому нужно было выпустить сперва этот видос.

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

      @@def1NeX кхм, справедливо 👀

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

      @@def1NeX круто что ты об этом подумал

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

    А мне вот этот код нужно переделать на unity bolt, потому что это обязательное правило геймджема в котором я учавствую

  • @Atlas-st1yt
    @Atlas-st1yt 3 роки тому +1

    что делать если после меню высвечивается ошибка: MissingReferenceException: The object of type 'Rigidbody' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    UnityEngine.Rigidbody.AddRelativeForce (UnityEngine.Vector3 force, UnityEngine.ForceMode mode) (at :0)
    UnityEngine.Rigidbody.AddRelativeForce (UnityEngine.Vector3 force) (at :0)
    player.Move (UnityEngine.Vector3 direction) (at Assets/Scripts/player.cs:53)
    player.OnSwipe (UnityEngine.Vector2 direction) (at Assets/Scripts/player.cs:27)
    SwipeDetection.CheckSwipe () (at Assets/Scripts/SwipeDetection.cs:70)
    SwipeDetection.Update () (at Assets/Scripts/SwipeDetection.cs:50)

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

      В ошибке же написано, юнити не видит rigidbody на объекте. Ты либо его дестройнул, либо не инициализировал и т.д. В общем, ищи проблему в этом.

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

      попробуй решить добавлением проверки !null в скрипте player
      private void Move(Vector3 direction)
      {
      if (this != null)
      {
      if (this.GetComponent())
      {
      _rb.AddRelativeForce(direction * Speed);
      }
      Debug.Log("-");
      }
      }

    • @Atlas-st1yt
      @Atlas-st1yt 3 роки тому

      @@johnrif2531 спасибо, получилось

  • @dinarshagidullin3669
    @dinarshagidullin3669 3 роки тому +7

    У кого не работает:
    В скрипте SwipeDetection нужно добавить ?.Invoke:
    72-74 строчка
    SwipeEvent?.Invoke(_swipeDelta.x > 0 ? Vector2.right : Vector2.left);
    SwipeEvent?.Invoke(_swipeDelta.y > 0 ? Vector2.up : Vector2.down);

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

      if(swipeDelta.magnitude > _deadZone)
      {
      if (SwipeEvent != null)
      SwipeEvent?.Invoke(swipeDelta);
      ResetSwipe();
      }
      -,-