Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вращение TextField относительно центра (http://www.flasher.ru/forum/showthread.php?t=105100)

NePridymal 07.12.2007 16:01

Вращение TextField относительно центра
 
Доброго времени суток. Вот столкнулся с такой проблемой:

Надо сделать вращение текстового поля относительно его центра (а не левого верхнего угла, как это сделано по умолчанию).
Можно конечно текстовое поле приатачить со смещением на промежуточный спрайт и вращать уже этот спрайт, но в моем проекте это достаточно проблематично.
Появилась идея сделать потомка от TextField и переназначить ему сеттер свойства rotation. Но вот как расширить rotation так, чтоб работало правильно... Тоесть не могу придумать саму функциональность... Может совсем забыл геометрию? Не знаю.
Если кто сталкивался или может подсказать, поделитесь плиз :)

terbooter 07.12.2007 16:24

Чтобы повернуть прямоугольник относительно центра, можно повернуть его относительно левого верхнего угла а потом параллельным переносом сдвинуть этот угол в ту точку в которой он оказался если бы мы вращали прямоугольник относительно центра
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)

Вроде так -)

NePridymal 07.12.2007 18:03

спасибо, я так и думал делать, только не мог правильно формулу вывести (или вспомнить).
Кстати, эта формула что-то тоже неправильно работает.... Или я что-то не так понял?

terbooter 10.12.2007 09:46

Это только идея, надо со знаками посмотреть, угол перевести из градусов в радианы


Часовой пояс GMT +4, время: 05:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.