Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.11.2014, 01:28
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 1  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
По умолчанию Узнать отражен ли мувиклип по горизонтали

Здравствуйте. Третий день мучаюсь со следующей проблемой. В Adobe flash на сцене размещен мувиклип. Он отражен по горизонтали вручную (Модификация=>Преобразование=>Отразить слева нараво). В коде нужно узанть scaleX этого клипа. mc.scaleX - выдает 1 а не (-1). Тоесть этот метод не понимает что объект отражен вручную.
Возможно ли с помощью матриц преобразования как-то узнать настоящий scaleX этого объекта?
Или есть другой способ?
Спасибо.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 21.11.2014, 08:30
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 2  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
mc.transform.matrix.a

Старый 21.11.2014, 08:41
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 3  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Партизан, спасибо, выдает (-1). Но это не всегда верно. Если мувиклип покрутить - то значение изменяется. Можно ли как-то вычислять scaleX независимо от угла поворота мувиклипа?
Помогите, пожалуйста - очень нужно.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 21.11.2014, 09:25
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 4  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Угол поворота на 0 сбросьте, будет вам счастье, я полагаю...

Старый 21.11.2014, 09:36
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 5  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Цитата:
Сообщение от Партизан Посмотреть сообщение
Угол поворота на 0 сбросьте, будет вам счастье, я полагаю...
Как сбросить? Не крутить его вообще? Нельзя.
Дело в том что пишу на Java, а анимацию всегда делаю в Adobe Flash (spritesheet-ами). Теперь стала задача имитировать flash-анимацию на java для экономии памяти. Тоесть в Adobe Flash руками рисую анимацию. Запускаю ролик - и в output получаю xml следующего содержания (приблизительно)
Код:
<frame>
   <layer x='..' y='..' scaleX='..' scaleY='..' rotation='..'/>
   <layer x='..' y='..' scaleX='..' scaleY='..' rotation='..'/>
.................................
</frame>
Потом в Java подгружаю этот xml и двигаю уже спрайты (не мувиклипы) по заданным параметрам.
Все работает, только scaleX и scaleY вычисляются неправильно. Без этого вся моя затея и потраченное время летит в тарары.
Помогите кто может!!!
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 21.11.2014, 10:06
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 6  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Нда.. похоже не все так просто, в случае поворота в IDE.

Добавлено через 35 минут
Вам же нужно понять отражен ли объект по горизонтали?
Если объект отражен по горизонтали, то у matrix.a и matrix.d будут противоположные знаки.

Старый 21.11.2014, 11:12
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 7  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Может тогда к тем объектам у которых должен быть scaleX=-1 добавить в имя какой нибудь префикс/постфикс (например box_sxRevers) и уже при выводе xml написать условие, мол если в имени есть "_sxRevers" то записывать масштаб с минусовым значением.

Старый 21.11.2014, 11:51
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 8  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Цитата:
Сообщение от Партизан Посмотреть сообщение
Если объект отражен по горизонтали, то у matrix.a и matrix.d будут противоположные знаки.
А вот этого я не знал! Спасибо. Значит мне нужно проверить одинаковость знаков a=1 или -1, потом scaleX клипа умножить на (a) . Дома попробую.
Samana, спасибо - тоже вариант. Но это на крайний случай, если не получится первый. В разных кадрах один и тот же клип может иметь scaleX (-0.8) а в другом кадре (0.5). Тоесть в каждом кадре нужно прописывать разный instanceName. А потом вылезет и scaleY еще. Тут точно без ошибок не обойдешься. К тому же по времени - это очень долго.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 21.11.2014, 11:58
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 9  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Но.... это если объект не отражен по вертикали

Старый 21.11.2014, 12:47
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 10  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Не знаю на сколько будет правильно, но может тогда записывать в xml данные матрицы объекта из IDE и применять их на матрицу конечного объекта ?

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.