Привязка к элементам прокрутки - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть представление прокрутки в Unity3D, в котором есть все мои элементы. Он прокручивается только по горизонтали и имеет несколько дочерних элементов в поле зрения в любое время. В большинстве случаев это будет 6, в некоторых редких случаях это может быть 5. Установка состоит из 2 рядов из 3 объектов

Пример: enter image description here

Как вы можете видеть, это 6 (и часть числа 7/8) объектов в большинстве случаев, а в редких случаях это может быть 5. (к концу, например)

Что бы я хотел: перетаскивая объекты, он всегда привязывается к 6 центрированным объектам. Поэтому, когда у меня есть 12 объектов, и пользователь немного перетаскивает окно, я хочу, чтобы оно привязывалось к ближайшему 6. Я использовал окно Unity Scroll Rect с горизонтальной группой макетов под ним для достижения моего текущего результата. С настройками ниже: Где «GameGrid» - это просто пустой объект с горизонтальной группой макетов на нем. Под игровой сеткой игровые плитки создаются во время выполнения.

enter image description here

1 Ответ

0 голосов
/ 12 апреля 2019

Используйте ScrollView и сделайте ваши объекты дочерними от ScrollView-> Viewport-> Content object. Теперь вы можете управлять положением привязки Content RectTransform и одновременно позицией всех его дочерних элементов. Вы можете легко рассчитать положение «привязки», разделив Content RectTransform sizeDelta.x на заданную ширину и используя правильные значения положения.

...