![]() |
Масштабирование
Что-то я впал в нубство...
Код AS3:
|
Цитата:
|
потому что вы переворачиваете всю область(прямоугольную или квадратную) mc, если повернуть квадрат на 45 градусов его длина будет больше !???
|
Цитата:
Цитата:
|
Цитата:
по теме: Я думаю, что это связано с тем, что все преобразования объектов происходят через матрицу трансформации. В том числе ширина задается через масштаб. В матрице одни и те же элементы отвечают и за поворот и за масштабирование, поэтому когда мы их совмещаем - происходит что-то непонятное. |
1. не длина а ширина =)
2. всё же представьте квадрат повёрнутый на 45 градусов, и измерьте расстояние от крайне левого угла до крайне правого по оси X 3. представьте обычный квадрат(поворот на 0 градусов) и сделайте тоже самое 4. сравните результаты объясняю канеш хрен пойми как, но идея сама вроде правильная |
Цитата:
или наоборот)) |
Ну да, получается что выдаётся ширина относительно сцены так сказать:
[IMG]http://i.***********/i7/9be1d413cae49e4e45682b57fa988971/1-2-407/40740967/heigth.jpg[/IMG] |
с етим ясно, но что делает сеттер остается загадкой для меня
Код AS3:
Код:
orig-->>100 100если же сделать height=1 а width=100 тогда на екране полоска в 1 пиксель(height==1) повернута на 45 градусов, а если поменять местами Код AS3:
|
В общем, исходя из вышесказанного, система "стандартных" трансформаций во флеше, скажем так, далека от совершенства. Посему появилось желание перевести в своем приложении основной функционал на систему с использованием матриц (использоваться по сути будет только поворот, изменение координат (эту составляющую наверное можно и не переводить) и размера визуальных объектов). Отсюда возникает вопрос - как я могу определить реальную ширину объекта и потом поменять полученное значение, на то, которое меня интересует?
К примеру: Код AS3:
Собственно вся суть вопроса сводится к способу получения реальных размеров объекта. Заранее спасибо. |
Цитата:
Код AS3:
Добавлено через 1 минуту ну тоисть разворачивать каждый рас перед трансформацыей |
Тоже об этом думал, но больно уж криво выходит... Может есть альтернатива?
|
Познать дзен и понять, что не бывает ширины и высоты, а есть только матрица трансформации?
А точнее - что по вашему ширина обьекта и зачем она вам? |
>>но больно уж криво выходит...
я бы посмотрел такой еще вариант: рабочий контент кладем в спрайт-контейнер, rotation транслируем контенту, а width\height применяем к контейнеру, никаких граблей правда кроме оверрайда rotation, придется и всякое такое (addChild, removeChild, etc) переписывать, но это уже от конкретной задачки зависит |
Значит либо костыль (вариант с еще одной вложенностью по сути тоже не есть тру), либо дзен. К сожалению дзен в данной ситуации невозможен...
Всем спасибо. |
| Часовой пояс GMT +4, время: 16:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.