Ошибка Flash AS3 при импорте мувиклипа с анимацией 3D - PullRequest
3 голосов
/ 20 января 2010

Я работал над приложением AS3, и оно близится к завершению. В то же время, один из дизайнеров, с которыми я работаю, создавал мувиклип в отдельном .fla, который выполняет роль вводной анимации для приложения. Вступление использует возможности 3D-анимации движения Flash CS4 / Player 10 и отлично работает в .fla, в котором оно было построено.

Проблема в том, что когда я импортирую мувиклип в основной .fla для приложения, когда я динамически создаю экземпляр мувиклипа и добавляю его на сцену, я получаю сообщение о следующей ошибке во время выполнения:

ReferenceError: Ошибка # 1069: свойство null не найдено в fl.motion.KeyframeBase и значение по умолчанию отсутствует.

at fl.motion :: KeyframeBase / getValue ()

at fl.motion :: MotionBase / getValue ()

при fl.motion :: Animator3D / setTime3D ()

at fl.motion :: AnimatorBase / установленное время ()

at fl.motion :: AnimatorBase $ / processCurrentFrame ()

at fl.motion :: AnimatorBase $ / parentEnterFrameHandler ()

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

Есть мысли?

Ответы [ 2 ]

1 голос
/ 20 января 2010

Хорошо. Оказывается, проблема в том, что у нас была локальная версия пакета fl.motion в исходных путях Actionscript, которая была устаревшей. Теперь все радостно движется!

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

Насколько я знаю, когда вы применяете 3D-анимацию движения к ролику, вы больше не можете изменять его с помощью ActionScript.

Я бы предложил скопировать клип без анимации, чтобы вы могли получить к нему доступ и изменить его с помощью ActionScript, например, для анимации, возможно, перейдите к Copy Motion как Actionscript 3.0. Это будет выплевывать неприятный вид кода. Альтернатива состоит в том, чтобы «переделывать» анимацию, используя что-то вроде TweenLite с более приятным синтаксисом. Вы должны выбрать анимацию движения, дать ей экземпляр, а затем использовать instance.motion.keyframes , чтобы перебрать ключевые кадры и получить, например, значения положения и поворота.

Это не так идеально, как должно быть :( Посетите веб-сайт flashthusiast.com , чтобы узнать больше о новых подростках и о том, как с ними работать.

Гудлак, George

...