применение ColorTransform останавливает воспроизведение MovieClip - PullRequest
1 голос
/ 02 декабря 2009

У меня есть MovieClip, который состоит из нескольких слоев, один из которых - анимированный фон Shape. давайте назовем этот MyMovieClip с фоновой формой с именем экземпляра "mcBackground";

Я добавляю MovieClip на сцену из ActionScript:

var myMovieClip = new MyMovieClip();
addChild(myMovieClip);

Это работает нормально, и когда видеоклип добавляется на сцену, он воспроизводится, как и ожидалось (фон движется).

Проблема в том, что когда я пытаюсь применить colorTransform к фоновой форме, он перестает двигаться. что я делаю, это внутри класса MyMovieClip:

var ct:ColorTransform = mcBackground.transform.colorTransform;
ct.color = some color value;
mcBackground.transform.colorTransform = ct;

Когда я делаю это, фон окрашивается правильно, но он больше не анимируется, кажется, что он застревает в кадре 1 вплоть до отображения, хотя любой код, который я имею в последующих кадрах, выполняется. Так что похоже на проблему с отображением.

в чем здесь проблема? Возможно ли изменение transform.colorTransform для анимированных фигур?

дайте мне знать, если описание не понятно, и я постараюсь объяснить больше.

Ответы [ 3 ]

2 голосов
/ 02 декабря 2009

Как правило, ActionScript, примененный к любому объекту анимации временной шкалы, будет прерывать анимацию движения. Вы можете попробовать обернуть свою временную шкалу другим клипом и применить к нему клип colorTransform.

1 голос
/ 08 января 2015

Когда ваш код ActionScript устанавливает любой показ аспекта экземпляра (положение, масштаб, вращение, альфа, цвет, фильтры и т. Д.), Любые изменения из-за ключевых кадров на временной шкале не будут применены к этому экземпляру. больше. Свойства отображения этого экземпляра будут «заморожены» (с точки зрения временной шкалы) до значения, заданного моментом ActionScript, чтобы установить значение свойства, и с тех пор его можно изменять только с помощью ActionScript.

Это поведение также относится к временным шкалам / ключевым кадрам без анимации.

Когда actionscript делает что-то с экземпляром, не связанным с преобразованием / фильтром, такое поведение не происходит, и временная шкала выполняется, как и ожидалось. Например, установка DisplayObject.visible не вызывает такое поведение. Кроме того, изменение текста TextField не будет вызывать поведение.

Когда установка свойства отображения для дочернего экземпляра экземпляра не вызывает поведение, поэтому оборачивание экземпляра в дополнительный фрагмент ролика является хорошим обходным путем.

0 голосов
/ 08 января 2010

Спасибо также doamnaT (у меня еще недостаточно представителей, чтобы поднять голос). Я также обнаружил, что в целом отсоединение временных шкал от основной временной шкалы является хорошей практикой, которая по совпадению избегает подобных проблем. Обычно моя основная временная шкала - только один кадр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...