![]() |
преобразования в localToGlobal
Приветсвую!
Кто-то знает какие преобразования происходят в методе localToGlobal? Как там всё обрабатывается? Какой там код? |
|
Преобразования? О__о К счастью, никаких. Только вычисления. К координате х указанной точки прибавляются координаты х вызывающего объекта и всех его парентов, так же с координатой у.
Как бы так: Код AS3:
|
а разве в localToGlobal не учитываются rotation всех объектов?
|
Цитата:
|
В смысле "никуда не денется"? Это у того, который повернули, никуда не денется. А у всех кто внутри еще как денется.
|
Есть сцена, в ней контейнер, в нем спрайт. Спрайт сдвинули, а контейнер повернули. Простым суммированием тоже правильный перевод получится ?
В общем случае - для того, чтобы перевести из локальных координат в глобальные нужно умножить на инвертированную матрицу мира. |
тут еще проблема в пересчете координат в глобальные из-за разных углов поворота осей систем координат всех вложенных объектов, в общем случае, если угол между осями двух систем координат равен нулю, тогла можно и суммированием обойтись.
юзаю иногда такую формулу, a - угол между системами x0,y0 - сдвиг центра систем x1 =(x cos a + y sin a) + x0; x2 = (-x sin a + y cos a) +y0; |
а ещё когда на мувиклип применить скейл, то localToGlobal как то не точно преобразует координаты
|
x и y нужно умножать на scaleX и scaleY - соответственно
|
Я тоже замечал глюк с localToGlobal когда произведены сложные преобразования с мувиклипом. Не помню точно в чём там дело было, видимо был большой уровень вложенности и к объектам применён scale и rotation. Выдавало какую то ахинею, пришлось вручную велосипед прописывать!)
|
Также для вашей задачи можно попробовать применить concatenatedMatrix.
|
| Часовой пояс GMT +4, время: 06:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.