Почему ключевой кадр во Flash не может обновить позицию объекта, как определено в ключевом кадре, когда воспроизводящая головка отправляется в этот кадр? - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть фоновый MovieClip в пользовательском классе кнопок, который перемещает головку воспроизведения в другой кадр (через gotoAndStop ("framename")) в зависимости от того, какие события мыши она получает.

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

Единственный обходной путь - это добавить скрипт кадра в каждый кадр, который вручную устанавливает позицию x и y в требуемое положение,но это отрицает цель использования ключевых кадров для позиции.

Что происходит?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

Это, похоже, ошибка в Flash IDE, в частности, какое-то повреждение в слое временной шкалы.

Повреждение возникло в Flash CS4, но сохранилось при открытии и компиляции в Flash CS5, которыйпочему я подозреваю, что это была какая-то ошибка генерации контента, а не что-то специфичное для любой версии IDE.Возможно, IDE запутывается, когда вы строите временную шкалу не по порядку или перетаскиваете объекты, переименовываете их, копируете их из других файлов и т. Д. Я думаю, в частности ... это был тот факт, что я скопировал этот конкретный объект из другогофайл.И это был даже не сложный объект, это был просто мувиклип, который содержал закругленный прямоугольник и серьезно применил тень.

Шаги, которые я предпринял для решения проблемы, заключались в удалении любых классов, связанных сэлемент библиотеки, возвращая его обратно в стандартный мувиклип.Затем я полностью удалил проблемный слой.Затем я переназначил класс на объект библиотеки и экспортировал его для ActionScript.Наконец, я перестроил слой из первого кадра, добавив при необходимости последующие ключевые кадры.Я повторно применил фильтры и отрегулировал расположение клипов в каждом кадре.

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

0 голосов
/ 03 апреля 2012

Попробуйте вызвать event.updateAfterEvent (), он должен

Дает команду Flash Player или Adobe AIR на визуализацию после завершения обработки этого события, если список отображения был изменен.

отсюда: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html#updateAfterEvent%28%29

...