все!
Я работаю с элементами пользовательского интерфейса Unity. До недавнего времени мой холст был переведен в режим рендеринга: пространство экрана - наложение. Я написал некоторый код, используя touch.position для запуска определенных событий на моем экране: я хотел, чтобы некоторые объекты появлялись всякий раз, когда я касался объекта на своем смартфоне (или касался в пределах определенного радиуса).
Я отслеживаю свою позицию касания с помощью touch.position
, а мои конкретные позиции элемента gameObject - со списком позиций, которые я создаю следующим образом:
Vector2 thisPosition = new Vector2(child.position.x, child.position.y);
Когда я работал с Render mode: Screen Space - Overlay
, в инспекторе все работало нормально; но мои элементы, поскольку они не являются частью пользовательского интерфейса, не отображались.
Когда я переключился на Render mode: Screen space - Camera
или World view
, мои расстояния стали повсеместно.
Например, при прикосновении к кнопке я регистрирую:
Touch position is(341.7, 372.7)
В то время как позиция моей кнопки будет записываться:
Button's at(0.0, -1.5)
Как я мог это исправить?