@kyryliukbogdan

Что делать, если не работает движение персонажа в Unity?

Здравствуйте, я новенький в Unity, и хочу спросить: я создаю 2D платформер на Android и делаю движение персонажа.
Я добавил кнопки движения через канвас на которые буду нажимать чтобы персонаж двигался, написал скрипт, в котором сделал так, чтобы кнопки смещались при их нажатии, а при отжатии ставали на место. Написал что когда позиция кнопки не совпадает с начальной, персонаж двигался. При запуске кнопки работают отлично, смещаются, и персонаж , когда кнопка смещается движется, но когда отпускаю кнопку он и дальше продолжает двигаться, нажимаю на вторую кнопку(вправо либо наоборот влево) персонаж движется в обратную сторону и после отжимания клавиши он и дальше движется в ту сторону. Каждая кнопка как бы работает по одному разу.. Делал так, чтобы когда кнопка смещалась, выводилось сообщение, и вот, сообщение тоже вывелось только 1 раз на каждую кнопку, хотя я нажимал несколько раз!
Первый скрипт я кинул на персонажа , второй скрипт кинул на каждую кнопку.
spoiler
5e7da0e83296c943819831.png5e7da0f1d3f24945382249.png5e7da0f75ebbf031029568.png5e7da0fcc39f4282738986.png

Если надо еще какие то фото,я скину.
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
float'ы нельзя сравнивать (== или !=), ввиду их природы они редко будуть совпадать. Погуглите сравнение чисел с плавающей точкой OR запятой чтобы лучше понимать.

Используйте Mathf.Approximately либо измените механику чтобы избавиться от такого сравнения, проверяйте иным способом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы