![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Доброго времени суток. Вот столкнулся с такой проблемой:
Надо сделать вращение текстового поля относительно его центра (а не левого верхнего угла, как это сделано по умолчанию). Можно конечно текстовое поле приатачить со смещением на промежуточный спрайт и вращать уже этот спрайт, но в моем проекте это достаточно проблематично. Появилась идея сделать потомка от TextField и переназначить ему сеттер свойства rotation. Но вот как расширить rotation так, чтоб работало правильно... Тоесть не могу придумать саму функциональность... Может совсем забыл геометрию? Не знаю. Если кто сталкивался или может подсказать, поделитесь плиз ![]() |
|
|||||
|
Чтобы повернуть прямоугольник относительно центра, можно повернуть его относительно левого верхнего угла а потом параллельным переносом сдвинуть этот угол в ту точку в которой он оказался если бы мы вращали прямоугольник относительно центра
a-угол, w- половина ширины текстового поля, h- половина высоты, Если w=0, x=x0+h*cos(a) y=y0-h*sin(a) С учетом w, x=x0+h*cos(a)+w*sin(a) y=y0-h*sin(a)-w*cos(a) Вроде так -) |
|
|||||
|
спасибо, я так и думал делать, только не мог правильно формулу вывести (или вспомнить).
Кстати, эта формула что-то тоже неправильно работает.... Или я что-то не так понял? |
|
|||||
|
Это только идея, надо со знаками посмотреть, угол перевести из градусов в радианы
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|