Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.12.2007, 16:01
NePridymal вне форума Посмотреть профиль Отправить личное сообщение для NePridymal Найти все сообщения от NePridymal
  № 1  
Ответить с цитированием
NePridymal
 
Аватар для NePridymal

Регистрация: Apr 2007
Сообщений: 143
Отправить сообщение для NePridymal с помощью ICQ
Question Вращение TextField относительно центра

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

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

Старый 07.12.2007, 16:24
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 2  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Чтобы повернуть прямоугольник относительно центра, можно повернуть его относительно левого верхнего угла а потом параллельным переносом сдвинуть этот угол в ту точку в которой он оказался если бы мы вращали прямоугольник относительно центра
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)

Вроде так -)

Старый 07.12.2007, 18:03
NePridymal вне форума Посмотреть профиль Отправить личное сообщение для NePridymal Найти все сообщения от NePridymal
  № 3  
Ответить с цитированием
NePridymal
 
Аватар для NePridymal

Регистрация: Apr 2007
Сообщений: 143
Отправить сообщение для NePridymal с помощью ICQ
спасибо, я так и думал делать, только не мог правильно формулу вывести (или вспомнить).
Кстати, эта формула что-то тоже неправильно работает.... Или я что-то не так понял?

Старый 10.12.2007, 09:46
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 4  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Это только идея, надо со знаками посмотреть, угол перевести из градусов в радианы

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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