Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2020, 16:34   #1
Илья37
Пользователь
 
Регистрация: 19.02.2020
Сообщений: 46
По умолчанию Как убрать скольжение

Сделал передвижение игрока вот код:
Код:
void FixedUpdate()
    {
        if(Input.GetButton("Horizontal")) Move();
        if (Input.GetKeyDown(KeyCode.Space)) Jump();
    }

    void Move()
    {
        float hor = Input.GetAxis("Horizontal");
        Vector3 vector = new Vector3(hor, 0, 0);
        rb.AddForce(vector * speed, ForceMode2D.Force);
    }
Но персонаж скользит после того как отпустить клавишу, как это исправить.
Илья37 вне форума Ответить с цитированием
Старый 06.04.2020, 07:46   #2
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 138
По умолчанию

Может вместо Input.GetButton("Horizontal") написать Input.GetButtonDown("Horizontal")?
ichi вне форума Ответить с цитированием
Старый 06.04.2020, 09:52   #3
Илья37
Пользователь
 
Регистрация: 19.02.2020
Сообщений: 46
По умолчанию

ichi,
Я уже исправил но результом не доволен так как пришлось использовать Translate а это не физическое передвижение. А на счет Input.GetButtonDown то он вообще работать не будет так как он срабатывает только при НАЖАТИЙ кнопки а Input.GetAxis срабатывает при ЗАЖАТИЙ кнопки и возвращает от -1 до 1.
Илья37 вне форума Ответить с цитированием
Старый 06.04.2020, 10:51   #4
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 138
По умолчанию

Я думал, что Input.GetAxis("Horizontal") задает направление и возвращает -1, если движение влево и возвращает 1, если движение вправо. А Input.GetButtonDown("Horizontal") возвращает true, если клавиша нажата и false, если клавиша отпущена.
ichi вне форума Ответить с цитированием
Старый 06.04.2020, 12:58   #5
Илья37
Пользователь
 
Регистрация: 19.02.2020
Сообщений: 46
По умолчанию

ichi,
В принципе да но Input.GetButtonDown отслеживает клик а не зажатие клавиши.
Илья37 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] Как убрать ненужный элемент на сайте? Убрать нарочное "заблюривание, замыливание ответа" и надпись: оформите подписку Паханка HTML и CSS 19 07.11.2019 16:05
Пользователь запретил приглашать себя в приложения", сколько не парился никак не могу убрать. Как убрать? nigretos Свободное общение 3 10.06.2011 15:48
Убрать ini x852x Общие вопросы Delphi 9 19.10.2010 11:29
как это убрать? NiCola999 О форуме и сайтах клуба 5 09.07.2010 12:31
Убрать из uses Маркъ Общие вопросы Delphi 3 03.02.2007 11:44