[Решено]Проблема с нахождением вектора с использованием мыши

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

[Решено]Проблема с нахождением вектора с использованием мыши

Сообщение nikolajeff 14 июл 2018, 14:18

Здравствуйте. Принцип работы таков: при нажатии мыши, игрок должен двигаться в противоположном направлении.

Код скрипта игрока:

Синтаксис:
Используется csharp
playerRb.velocity = new Vector2 ((transform.position.x - Input.mousePosition.x) * frsImp, (transform.position.y - Input.mousePosition.y) * frsImp);


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

Изображение
Последний раз редактировалось nikolajeff 14 июл 2018, 16:13, всего редактировалось 1 раз.
nikolajeff
UNец
 
Сообщения: 2
Зарегистрирован: 14 июл 2018, 14:07

Re: Проблема с нахождением вектора с использованием мыши

Сообщение 1max1 14 июл 2018, 14:22

Потому что Input.mousePosition это экранные координаты, а не мировые.
Синтаксис:
Используется csharp
var m_pos = Camera.main.ScreenToWorldPoint(Input.mousePosition); // Мировые координаты
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Проблема с нахождением вектора с использованием мыши

Сообщение nikolajeff 14 июл 2018, 14:52

1max1 писал(а):Потому что Input.mousePosition это экранные координаты, а не мировые.
Синтаксис:
Используется csharp
var m_pos = Camera.main.ScreenToWorldPoint(Input.mousePosition); // Мировые координаты


Благодарю, просто, быстро, понятно!
nikolajeff
UNец
 
Сообщения: 2
Зарегистрирован: 14 июл 2018, 14:07


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18