Делаю ещё одну попытку
Цитата:
|
Кстати, вы не пробовали мой метод со switch-блоком? Он работает полностью как надо, но накапливает погрешность.
|
Вам нужно нарисовать на листочке этот блок-switch и как следует подумать над тем, что Вы делаете.
Мой примитивный код, построен на том, что центр, будь то рект-контейнер или что-то другое, ПОСТОЯНЕН!
Тут я немного объясню то, что Вы должны знать, но все-же..
Есть сцена, у неё точка регистрации находится в topLeft. Вот мы создаём контейнер и присваеваем его точки регистрации (300, 300). В этот контейнер кладем картинку в координаты (0,0) и выглядеть это будет так, как буд-то она находится в координатах (300,300), так-как у контейнера уже другая система координат.
Продолжаю, если Вы двигаете картинку ( видимую её часть ) в пространстве, то это не как не должно сказываться на координаты центра контейнера!!!! Вы понимаете? Двигать контейнер или что-то в нем, это не значит, что его собственная система координат меняется! Точка центра как была в координатах (50,50), так она там и будет, даже если Вы сам контейнер за пределы монитора сдвинете!
Продолжаю, Вам нужно, как Вы сами говорите, двигать ОТНОСИТЕЛЬНО ЦЕНТРА КОНТЕЙНЕРА, ширина и высота которого ВСЕГДА ПОСТОЯННА! Так зачем же точку центра искать исходя из-за положения картинки? Центр как был в (50,50) так он там и будет.
Продолжаю, смотрите на свою картинку, видите в topLeft невидимой области находится настоящая точка регистрации картинки. Противоположная часть называется topRight. Вот Вы повернули картинку на 90 градусов, где будет точка регистрации картинки? Там, где в самом начале была точка topRight и то это с условием, что картинка КВАДРАТНАЯ!!! А ширина становиться равной длине!
Возьмите и нарисуйте мои слова и свои слова. Когда Вы это поймете, то я скажу что делать дальше.