Я следовал учебникам по инвентарю для Unity от Kryzarel и столкнулся со странной проблемой, которая, я думаю, может быть связана с чем-то не связанным.
Тонны поиска в Google не дали никаких результатов.Это похоже на неясную проблему.
https://www.youtube.com/channel/UCOM0GGMEcu-gyf4F1mT7A8Q/videos для ссылки на канал.
Но проблема, с которой я сталкиваюсь, заключается в следующем:
draggableItem.transform.position = Input.mousePosition;
Таким образом, элемент Dragable - это ссылка на компонент Image в GameObject.Я регистрирую Input.mousePosition перед рукой, и значения имеют смысл (в пределах сотен, например (563,262,0)).Тем не менее, позиция преобразования не находится рядом с записанным числом.Например, я вижу (48660,31, 23917,95, -7889,887).Нет логики между оператором debug.log, предоставляющим Input.mousePosition, и кодом, присваивающим его преобразованию.Кто-нибудь имеет представление о том, что я, возможно, настроил неправильно или мог ошибаться?
Я бы ожидал, что позиция будет (563,262,0), а не смешным числом, которым она в конечном итоге окажется.Я пробовал localPosition
вместо transform.position
, и это вроде работает.Так как это примерно на 500 или 700 к верхнему правому углу того, что я двигаю относительно мыши, я хочу избежать хакерских решений, таких как вычитание некоторого магического числа, если это возможно.
Редактировать: Дальнейший фондругие щелчки мыши и связанные с мышью вещи, кажется, работают правильно.Это орфографическая камера или по умолчанию для проекта unity2D
Решение: в моем случае я смог установить ее в соответствии с принятым ответом, затем мне пришлось изменить position
, а не localPosition
, а также пришлосьобнулить значение z мировой точки.