![]() |
Задание rotationY рушит мой PerspectiveProjection
Проблема в следующем. Есть спрайт, внутри которого несколько спрайтов с разными значениями rotationY/X. Сделан в IDE.
Флешка резиновая, а спрайт должен центрироваться, поэтому я повесил на сам спрайт PerspectiveProjection с нужным мне ванишинг поинтом и углом перспективы (я так понимаю, тогда перспектива для всего спрайта начинает рассчитываться отдельно, т.е. не как у других спрайтов на сцене, которым не задавали перспективу через as) и спокойно его центрирую по ресайзу. Проблема в следующем - как только я меняю у спрайта свойство rotationY на любое значение (даже на то, которое уже и так стоит - для спрайта оно равно нулю, но это не так важно), то со спрайтом происходит что-то странное. Похоже на то, что перспектива для него сбрасывается на ту, что задана по умолчанию для всей флешки. Подскажите, как быть, пожалуйста. Желательно без использования внешних библиотек для 3д. Плеер десятый. |
только предположение: perspectiveProjection не сбрасывается ( с чего бы ?), но в силу того при повороте контейнера дети тоже поворачиваются (относительно точки регистрации контейнера) видим нечто, возможно и странное..
внятный пример бы, чтоб не фантазировать |
Вложений: 1
Прикрепил пример в fla, там в коде нужно расскомментировать одну строку, чтобы увидеть проблему (см. комментарии в коде).
Для меня поведение действительно загадочно :( |
нет CS5, не могу посмотреть
|
Ну, там приложен swf, чтобы можно было представить, как выглядит.
Код в кадре там вот такой лежит: Код AS3:
Если есть cs4, могу пересохранить для него. |
>>могу пересохранить для него
ну да |
Вложений: 1
Вот для cs4.
Чтобы увидеть проблему нужно еще поресайзить окно по горизонтали. |
не удается до конца вкурить логику адобов с этим 3Д,
такое вот есть предположение: без определения какого-нибудь из "3Д-шных" свойств (rotationY в этом случае) matrix3D объекта не определена, и определение perspectiveProjection не имеет смысла, т.е. ситуация как раз обратная: после определения rotationY perspectiveProjection не сбрасывается в состояние родителя (stage), а наоборот начинает работать а 'ерзает' при ресайзе из-за того, что координаты объекта меняются, а вьюпойнт нет если менять и его тоже, то вроде бы все адекватно Код AS3:
|
Ого, сам я на матрицу 3д-трансформации даже не додумался посомтреть. Все-таки как-то неявно они это сделали.
Спасибо огромное, Silin, ты мой спаситель :) |
| Часовой пояс GMT +4, время: 12:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.