![]() |
|
||||||||||
|
|||||
|
Что-то я впал в нубство...
Почему в результате 2-го трэйса выводит 91.9 я еще могу понять. А вот почему последний выдает значение, отличное от 100 - не понятно.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Banned
|
Цитата:
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
потому что вы переворачиваете всю область(прямоугольную или квадратную) mc, если повернуть квадрат на 45 градусов его длина будет больше !???
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
Цитата:
|
|
|||||
|
Цитата:
по теме: Я думаю, что это связано с тем, что все преобразования объектов происходят через матрицу трансформации. В том числе ширина задается через масштаб. В матрице одни и те же элементы отвечают и за поворот и за масштабирование, поэтому когда мы их совмещаем - происходит что-то непонятное.
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
1. не длина а ширина =)
2. всё же представьте квадрат повёрнутый на 45 градусов, и измерьте расстояние от крайне левого угла до крайне правого по оси X 3. представьте обычный квадрат(поворот на 0 градусов) и сделайте тоже самое 4. сравните результаты объясняю канеш хрен пойми как, но идея сама вроде правильная |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 57
|
Цитата:
или наоборот)) Последний раз редактировалось wolhw; 13.09.2011 в 00:38. |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 57
|
с етим ясно, но что делает сеттер остается загадкой для меня
trace("orig-->>"+mc.width,mc.height); mc.rotation=45; mc.width=1; mc.height=100; trace("rezz-->>"+mc.width,mc.height); на екране прямоугольник width!=1; если же сделать height=1 а width=100 тогда на екране полоска в 1 пиксель(height==1) повернута на 45 градусов, а если поменять местами тогда width==1; Последний раз редактировалось wolhw; 13.09.2011 в 01:09. |
|
|||||
|
В общем, исходя из вышесказанного, система "стандартных" трансформаций во флеше, скажем так, далека от совершенства. Посему появилось желание перевести в своем приложении основной функционал на систему с использованием матриц (использоваться по сути будет только поворот, изменение координат (эту составляющую наверное можно и не переводить) и размера визуальных объектов). Отсюда возникает вопрос - как я могу определить реальную ширину объекта и потом поменять полученное значение, на то, которое меня интересует?
К примеру: Данный код должен получить значение ширины (не зависимо от значения поворота - getter) и присвоить новое значение (опять же в системе локальных координат - setter) Собственно вся суть вопроса сводится к способу получения реальных размеров объекта. Заранее спасибо.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:23. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|