![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте. Третий день мучаюсь со следующей проблемой. В Adobe flash на сцене размещен мувиклип. Он отражен по горизонтали вручную (Модификация=>Преобразование=>Отразить слева нараво). В коде нужно узанть scaleX этого клипа. mc.scaleX - выдает 1 а не (-1). Тоесть этот метод не понимает что объект отражен вручную.
![]() Возможно ли с помощью матриц преобразования как-то узнать настоящий scaleX этого объекта? Или есть другой способ? Спасибо.
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
Партизан, спасибо, выдает (-1). Но это не всегда верно. Если мувиклип покрутить - то значение изменяется. Можно ли как-то вычислять scaleX независимо от угла поворота мувиклипа?
Помогите, пожалуйста - очень нужно.
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
Как сбросить? Не крутить его вообще? Нельзя.
Дело в том что пишу на Java, а анимацию всегда делаю в Adobe Flash (spritesheet-ами). Теперь стала задача имитировать flash-анимацию на java для экономии памяти. Тоесть в Adobe Flash руками рисую анимацию. Запускаю ролик - и в output получаю xml следующего содержания (приблизительно) <frame> <layer x='..' y='..' scaleX='..' scaleY='..' rotation='..'/> <layer x='..' y='..' scaleX='..' scaleY='..' rotation='..'/> ................................. </frame> Все работает, только scaleX и scaleY вычисляются неправильно. Без этого вся моя затея и потраченное время летит в тарары. Помогите кто может!!!
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
Нда.. похоже не все так просто, в случае поворота в IDE.
Добавлено через 35 минут Вам же нужно понять отражен ли объект по горизонтали? Если объект отражен по горизонтали, то у matrix.a и matrix.d будут противоположные знаки. |
|
|||||
|
Может тогда к тем объектам у которых должен быть scaleX=-1 добавить в имя какой нибудь префикс/постфикс (например box_sxRevers) и уже при выводе xml написать условие, мол если в имени есть "_sxRevers" то записывать масштаб с минусовым значением.
|
|
|||||
|
Цитата:
Samana, спасибо - тоже вариант. Но это на крайний случай, если не получится первый. В разных кадрах один и тот же клип может иметь scaleX (-0.8) а в другом кадре (0.5). Тоесть в каждом кадре нужно прописывать разный instanceName. А потом вылезет и scaleY еще. Тут точно без ошибок не обойдешься. К тому же по времени - это очень долго.
__________________
Я мало чего умею, но зато хорошо умею учиться... |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|