Я сделал библиотеку абстракций, которая может помочь здесь:
DP_PanelManager
Библиотека делает движущиеся объекты довольно простыми - в нижней части страницы есть пример под названием «Бесполезная анимация» - это в основном шахматная доска, где каждый квадрат произвольно перемещается, изменяет размер и изменяет непрозрачность.
Что-то в этом роде с меньшим количеством панелей и небольшой математикой для более плавного перемещения (что-то вроде , это должно быть достаточно легко изменить) должно приблизить вас.
Компонент также имеет упрощенные функции для обнаружения столкновений и расстояния между панелями (с опорой - функция скажет вам, насколько далеко расположены две панели И в каком направлении они лежат).
Надеется, что это даст вам старт.