2010-01-20 9 views
3

J'ai travaillé sur une application AS3 et elle est presque terminée. En même temps, l'un des designers avec qui je travaille construit un MovieClip dans un .fla séparé qui agit comme une animation d'introduction à l'application. L'intro utilise les capacités d'interpolation de mouvement 3D de Flash CS4/Player 10 et fonctionne correctement dans le fichier .fla dans lequel elle a été créée.Erreur Flash AS3 lors de l'importation de MovieClient 3D-tweened

Le problème est que quand j'importer le MovieClip dans la principale fla pour l'application, quand j'instancier dynamiquement le MovieClip et l'ajouter à la scène, je reçois un barrage de l'erreur d'exécution suivante:

ReferenceError: Error #1069: Property null not found on fl.motion.KeyframeBase and there is no default value.

at fl.motion::KeyframeBase/getValue()

at fl.motion::MotionBase/getValue()

at fl.motion::Animator3D/setTime3D()

at fl.motion::AnimatorBase/set time()

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

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

Je devine juste basé sur le nombre d'erreurs comme ceci que je reçois qu'il y en a un par image-clé dans le movieclip d'interpolation. J'ai vérifié que les paramètres de publication Flash sont identiques dans les deux fichiers .fla et bien que les tailles de scène diffèrent légèrement, je ne pense pas que ce soit le problème ici. J'ai également googlé le problème et n'ai trouvé rien mais but this lonely thread on kirupa.

Des pensées?

+0

pure spéculation ne vaut pas vraiment la peine de mettre une réponse, mais ont vous avez essayé d'ajouter une animation 3D dans votre fla principal. Votre fla n'exporte pas les classes flash nécessaires car vous ne les utilisez pas. (comme vous pouvez le faire importer flash.display. * et il n'exportera que les classes que vous utilisez dans votre swf) – Les

+0

Les - J'ai essayé ce que vous avez suggéré et créé une interpolation 3D sur scène la plus simple dans le fla et il a jeté le mêmes erreurs que l'animation d'intro. Savez-vous quelles classes j'ai besoin d'importer explicitement? – justinbach

Répondre

1

Okay- -le problème est que nous avions une version locale du paquet fl.motion dans les chemins sources d'ActionScript qui était obsolète maintenant, tout se marie joyeusement!

+0

cool! content que tout soit trié –

0

Dans la mesure où je vous connais une fois que vous appliquez un mouvement 3D Tween à un clip, vous ne pouvez plus le modifier par actionscript. Je suggère soit de copier le clip, sans l'interpolation, afin que vous puissiez y accéder et le modifier via actionscript, comme pour l'animation, peut-être aller pour Copy Motion comme Actionscript 3.0. Il va cracher une masse de code méchant. L'alternative est de "refaire" l'animation en utilisant quelque chose comme TweenLite qui a une syntaxe plus agréable. Vous devez sélectionner l'interpolation de mouvement, lui donner une instance, puis utiliser instance.motion.keyframes pour parcourir les images clés et obtenir les valeurs de position et de rotation, par exemple.

Ce n'est pas aussi idéale que devrait être :( Jetez un oeil sur le site Web flashthusiast.com pour plus d'idées sur les nouveaux préadolescents et comment travailler avec eux.

Goodluck, George

+0

George, merci pour la réponse. Je ne modifie pas réellement le moveiclip via actionscript - tout ce que je fais est de l'instancier de manière dynamique (par exemple, il vit dans la bibliothèque et je fais un nouveau IntroAnimation()) dans le code ... – justinbach