STIC Discussion:STIC I - exercice 2/Qwerty

De EduTech Wiki
< STIC Discussion:STIC I - exercice 2
Version datée du 27 septembre 2011 à 13:57 par Daniel K. Schneider (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Archives Qwerty

De la peine à faire ces séquence d'animation sur flash -- Lucie.Marchon 11 octobre 2010 à 22:43 (CEST)

J'ai un objet, un monsieur qui parle avec un phylactère. La séquence dure environ 10 seconde. A l'intérieur de cet objet, il y a deux objets: le monsieur qui bouge les lèvres et les sourcils, et le phylactère dont le texte change à intervalle qui permet la lecture. Dans le monsieur qui parle, il y a quatre objets: moustache gauche, moustache droite, sourcil gauche sourcil droit, qui bougent de manière à donner une sorte d'illusion que le monsieur parle. Cette séquence-là dure 2 secondes, mais les mouvements des objets sont plus courts. J'ai du mal à comprendre comment ces durées sont encapsulées les unes dans les autres pour arriver à la scène, combien de temps dure l'image de cette séquence qui dure 10 seconde? J'ai mis "stop();" sur la première image et le séquence continue de passer en boucle! (j'ai essayé de stopper tous les objets que contient cette dernière image, mais elle continue de passer en boucle). De plus, ça ne passe jamais à la séquence suivante si je rajoute une image différente sur un autre calque sur la scène.

Je poste mon travail sur mon espace personnel pour que vous puissiez y jeter un oeil.

Re: De la peine à faire ces séquence d'animation sur flash -- Daniel K. Schneider 13 octobre 2010 à 10:37 (CEST)

Les principes de base sont les suivants:

  • La timeline principale se déroule jusqu'à ce que la machine trouve un stop (); Sinon les frames (images) sont affichés selon le frame rate (24 images/secondes) les uns après les autres. Ensuite l'animation recommence à zéro (sauf s'il y a un stop dans le dernier frame évidémment).
  • Si Flash s'arrête sur un frame (car il y a un stop), tous les clips qui se trouvent sur ce frame l'intérieur sont joués selon le même principe. Donc le stop(); de la timeline principale ne s'applique absolument pas aux clips imbriqués. Pour les gérer il faut également y mettre des stop() à l'intérieur de ces clips ou alors les piloter autrement. Leur donner un nom d'instance, ensuite les lancer/arrêter avec nom_du_clip.play(); nom_du_clip.stop(); etc. C'est déjà un peu plus avancé, lire: Flash CS4 - Symboles et clips

On n'a pas encore totalement fini notre déménagement. Je peux répondre plus en détail ce soir ou demain matin. En attendant je vous prie d'ajouter un peu d'information sur ce que voulez obtenir. Pas très clair pour moi comment le tout devrait se dérouler.

Re: Re: De la peine à faire ces séquence d'animation sur flash -- Lucie.Marchon 13 octobre 2010 à 14:33 (CEST)

Ok, je comprends mieux. Mais quand je mets stop sur les mouvements de sourcils et de moustache, ils ne se répètent plus du tout dans le symbole de hiérarchie supérieure ni dans la scène. Ce que j'aimerais, c'est avoir un objet avec des animations internes, qui se répètent plusieurs fois, mais que je puisse arrêter en arrêtant la "course" du symbole global. Je ne dois quand même pas répéter les mouvements le nombre de fois dont j'ai besoin au final? Je dois pouvoir créer un symbole dont l'animation interne se répète jusqu'à ce que le stop soit posé! Bon déménagement, je continue à regarder les tutos.. ça change quoi, en fait, de mettre un nom d'instance, par rapport au stop(); général?

Re: Re: Re: De la peine à faire ces séquence d'animation sur flash -- Daniel K. Schneider 14 octobre 2010 à 11:50 (CEST)

En gros, dans votre fichier vous avez des timelines qui ne servent à rien:

  • Il faut raccourcir les timelines des objets imbriqués à un seul frame s'il n'y a pas d'animation. Genre le clip prof a une timeline de 25 frames, sans aucune animation. Donc faudrait soit faire les animations dans les layers du prof, soit dans des clips imbriqués mais dans ce cas il faut tuer les 24 frames supplémentaires.
  • le clip prof: Pas de timeline
  • le clip animation moustache gauche: Interpolation de movement (donc il y a une timeline) d'un dessin de moustache. Note: Chez vous ce clip s'appelle juste "moustache gauche"
  • Le dessin de la moustache. Un symbol sans timelime

Concernant les stop ();

  • Un stop() simple se réfère au clip courrant. Donc si on met un stop dans le frame N cela va arrêter l'animation de la timeline du clip
  • un instance.stop() permet de stopper des clips qui sont imbriqués dans un clip. Par exemple je peux dans un clip "mère" programmer un bouton qui permet de stopper un clip qui tourne dans un frame.

Re: Re: Re: Re: De la peine à faire ces séquence d'animation sur flash -- Lucie.Marchon 14 octobre 2010 à 19:59 (CEST)

J'ai stoppé les mouvements à la dernière image, avec un stop(); normal, dans les clips animés où il y a une timeline. J'ai stoppé les instances pour voir, mais ce n'est pas ce qu'il fallait faire ici, ou je me trompe? Maintenant, j'ai un symbole "prof", qui comporte des symboles animés dont l'animation ne se répète qu'une fois. Au moins c'est maîtrisé par rapport à "qui ne s'arrêtent jamais". Ce que j'aimerais faire maintenant, c'est faire en sorte que le prof parle autant longtemps que le phylactère. Comment faire pour que cette séquence se répète pendant un temps donné? Le clip du prof qui parle, avec tous les sous-clips stoppés, dure une seconde. Le "phylactère" dure 247 frames à 24i/secondes, donc plus ou moins 10s. Comment est-il possible de faire coïncider ces deux symboles animés? Merci mille fois pour votre aide précieuse!

Re: Re: Re: Re: Re: De la peine à faire ces séquence d'animation sur flash -- Daniel K. Schneider 4 novembre 2010 à 12:30 (CET)

Je ne suis pas très sur de comprendre la première question. Faudrait me montrer le *.fla

En ce qui concerne la synchronisation il existe plusieurs techniques. Dans ce cas je pense que la solution la plus simple est la suivante:

  • Laisser jouer le prof (donc pas de stop nul part)
  • A la fin de l'animation phylactère (dernier frame), insérer un prof.stop(). Autrement dit, quand le phylactère sait qu'il a terminé, il va aussi arrêter le prof.

PS: Si prof.stop() ne marche pas, il faudrait peutêtre utiliser qc. comme:

MovieClip(root).prof.stop();

Autrement dit, la variable prof qui contient l'animation prof doit être connue par le clip ou se trouve votre script. si ce n'est pas le cas, faut lui dire ou cherche. MovieClip(root).objet veut dire de chercher l'objet dans la timeline principale.

création d'un symbole lors d'interpolation de mouvement -- Lucie.Marchon 13 octobre 2010 à 21:26 (CEST)

J'aimerais comprendre pourquoi, lorsqu'on fait une interpolation de mouvement, Flash nous demande de créer un nouveau symbole, et ce qu'il représente.

Re: création d'un symbole lors d'interpolation de mouvement -- Daniel K. Schneider 13 octobre 2010 à 23:30 (CEST)

Une interpolation de movement (shape tween) ne peut se faire qu'avec une SEULE instance de symbol (relire Flash CS4 - Interpolation de mouvement. Donc je conseille de le faire vous-même AVANT que le Flash propose de le faire à votre place.

Donc créer un symbol, placer une instance sur la scène (ou inversément:faire un dessin et transformer TOUT ce qui se trouve sur la scène en symbol). Ensuite ajouter le tween.

Explication technique: Animer veut dire transformer les propriétés d'un objet dans le temps. "Symbol" en langage Adobe veut dire "classe de type clip" (ou bouton etc.) c-a-d un type d'objet "lourd" avec bcp de propriétés animables. Un dessin simple n'est pas un objet animable car trop "léger".

Re: Re: création d'un symbole lors d'interpolation de mouvement -- Lucie.Marchon 14 octobre 2010 à 10:54 (CEST)

En fait, j'avais déjà créé des symboles pour les parties que je souhaitais animer et je ne faisais l'interpolation que sur ces parties-là. Par exemple, pour la moustache, j'avais créé un symbole "moustache" à partir de la moustache du Monsieur clipart, et je l'avais mis sur un autre calque pour faire l'animation: j'ajoute une image à la trame 25 de ce calque et je demande une interpolation de mouvement. Mais Flash me demande quand même de créer un nouveau symbole, alors que c'est déjà un symbole et rien d'autre, c'est pour ça que je m'emmêle les pinceaux! Mon erreur doit venir d'ailleurs. J'ai publié mon travail

Re: Re: Re: création d'un symbole lors d'interpolation de mouvement -- Daniel K. Schneider 14 octobre 2010 à 11:03 (CEST)

Moi je vois 3 explications possibles:

  • l'image au frame 25 n'est pas un symbol
  • vous essayez de créer un motion tween ailleurs que dans le frame 25 de ce layer
  • il y a un autre objet dans ce layer au frame 25 (un tout petit truc qq. part ?)

... en regardant vos fichiers je n'ai vu qu'un seul fichier *.fla. Il y avait trop de timelines dans les clips, je les ai tués et mis une copie du fichier dans votre répertoire pour montrer un exemple simple.

Je mettrai le texte dans une deuxième animation (clip) à placer à côté du prof. dans la timeline principale. Cela permettrai ensuite de substituer le prof. par une prof. par exemple.

Ceci dit, vous pouvez tout à fait créer des animations dans le clip prof à la place de clips imbriqués. Mais dans ce cas vous perdez la modularité et aussi la méthode simple pour créer des mouvements répétés.

Re: Re: Re: Re: création d'un symbole lors d'interpolation de mouvement -- Lucie.Marchon 14 octobre 2010 à 15:09 (CEST)

En fait, si je comprends bien, il faut recréer un symbole à chaque interpolation afin de garder un symbole auquel aucun mouvement n'est appliqué. Le "dessin moustache" est créé, et on applique le mouvement dans le symbole "moustache", qui à la base est la même forme. Donc à chaque mouvement, on a un nouveau symbole? ça peut vite faire un grand nombre de symboles? Est-ce qu'on peut sauver le mouvement en tant que tel?

Re: Re: Re: Re: Re: création d'un symbole lors d'interpolation de mouvement -- Daniel K. Schneider 14 octobre 2010 à 22:20 (CEST)

Je ne formulerai pas les choses comme cela. Une interpolation d'un movement se fait effectivement avec un seul symbole dans un layer. Rien ne vous empêche d'avoir des dizaines de layers dans un seul clip ou encore de faire succéder des animations dans un seul layer.

(1) Pour revenir à la moustache (animé selon une logique modulaire):

  • Créez un clip "animation moustache avec rien dedans"
  • Créez un clip (ou autre symbol) "dessin moustache"
  • Ensuite dans l'animation moustache vous glissez un dessin moustanche. Donc cela vous fait un clip animation avec un layer et dans ce layer on trouve un seul dessin moustache.

(2) Alternative:

  • Créez un symbol prof. de type movie clip
  • Ensuite, dans ce clip, créez un layer par objet animable
  • Dans chaque layer vous insérez une seule instance d'un symbole (moustache gauche, droite, oeil, etc.) et vous ajouter un motion tween pour chacun.

Avantage logique modulaire: Les animations moustache etc. peuvent tourner à l'infini.

Avantage logique layers: Il y a moins de symboles à gérer (juste les symbols dessins, mais pas les symboles pour clips animés), mais il faut synchroniser toutes les animations pour qu'elles finissent en même temps.

Re: création d'un symbole lors d'interpolation de mouvement -- Nancy 7 novembre 2010 à 17:44 (CET)

D'après ce que j'ai cru comprendre, Flash ne peut créer d'interpolation de mouvements qu'à partir de groupes ou de symboles. Pour obtenir une interpolation de mouvement en état de marche, il faut 3 éléments: une image clé de départ contenant un symbole, des images intermédiaires définies comme interpolation de mouvements, et une image clé de fin contenant le symbole de l'image de départ auquel on a appliqué une modification.

Stop et rapport -- Aline Meyer 23 octobre 2010 à 17:17 (CEST)

Bonjour,

J'ai deux petites questions concernant cet exercice 2. 1) Actuellement, mon animation tourne en boucle. Je ne trouve plus comment faire pour la stopper avec Actionscript? Vous trouverez mes fichiers .fla et .swf à l'adresse suivante : http://tecfaetu.unige.ch/etu-maltt/pixel/meyeral5/stic-1/ex2/ 2) Deuxièmement, concernant mon rapport (dont vous voyez à cette adresse la structure), il y a une erreur d'affichage concernant les accents. J'ai réalisé cette page welcome.html sur PSPad. Comment y remédier? Je ne me souviens plus, vu que j'ai fait le cours d'introduction avec Pixel l'année dernière...

Merci mille fois pour votre aide! Aline

Re: Stop et rapport -- Daniel K. Schneider 24 octobre 2010 à 01:45 (CEST)

Pour arrêter une animation il faut insérer un

stop();

dans la timeline du clip. Dans votre cas, ce serait dans la timeline principale à la fin.

Si vous voyez qc. comme "réalisé" cela veut tjrs dire que l'encodage est "long" (genre UTF-8) mais que vous forcez un affichage qui ne correspond pas. Dans votre cas:

 <meta http-equiv="content-type" content="text/html; charset=windows-1250">

.... en aucun cas c'est winodws-1250, essayez utf-8. Avant de faire changer les réglages dans le navigateur pour voir: Menu View/affichage -> character encoding/encodage de caractère

Pour finir, je vous conseille vivement de reprendre l'exercice et de produire des clips. Pour le moment, tout est dans la timeline principale alors que je demande des animations dans des movie clips. C'est pas si dur. Suffit de copier les animations dans des clips. Relire Flash CS4 - Symboles et clips ... j'avais bcp insisté.

Cinématique inversée ? -- Vjollca Ahmeti 2 novembre 2010 à 15:51 (CET)

Bonjour,

Je suis entrain de réaliser une animation avec Flash http://tecfaetu.unige.ch/etu-maltt/qwerty/ahmetiv5/stic_1/ex2/afm.fla dans laquelle il y a plusieurs objets (symboles) qui s'articulent les uns avec les autres. Concrètement, quand il y en a un qui bouge, alors les autres vont aussi bouger, et ils sont tous liés entre eux. J'arrive à faire une interpolation de mouvement, mais je me rend compte que si je dois géré les mouvements de chaque objet en fonction des autres, cela risque d'être compliqué et long (déjà que j'ai passé beaucoup de temps à faire des objet 3D alors qu'il y avait un outil pour ça!). J'ai beaucoup lu les tutoriels de Flash et j'ai jeté un coup d'œil sur l'article qui parle de la cinématique inversée. Cela me paraît plus approprié pour ce que je veux faire, mais ça à l'ai bien compliqué! Selon vous, est-ce que je devrais m'en tenir à l'interpolation de mouvement simple quitte à y passer plus de temps, ou je devrait essayé de comprendre la cinématique inversée et peut-être qu'après avoir appris à utiliser l'outil, ce sera plus rapide ? Quel est votre conseil ?

Re: Cinématique inversée ? -- Vjollca Ahmeti 2 novembre 2010 à 15:53 (CET)

J'ai oublié de préciser que si j'avais pensé à ça, c'est aussi parce que les mouvements que je veux faire faire à la plupart des objets sont plus des mouvements de rotation autour d'un point que des mouvements de déplacement.

Re: Cinématique inversée ? -- Daniel K. Schneider 2 novembre 2010 à 17:28 (CET)

Il faut essayer à mon avis la cinématique inversée. Il faut bien lire le tutoriel (ou trouver un autre ailleurs). En gros pour faire tourner autour d'un point une série d'objets enchainés, il faut d'abord transformer chaque objet en clip, ensuite les enchaîner (donc les relier avec des os). Ensuite on peut assez facilement faire tourner cette structure dans une animation interpolé (même principe que pour le motion tween). Faut créer des keyframes, c.a.d. tourner la structure dans des positions intermédiaires. Avant d'enchaîner les objets: Finissez-les (après c'est trop tard) et transformez chaque objet en clip !

balance des couleurs -- Lucie.Marchon 4 novembre 2010 à 13:27 (CET)

Bonjour, J'ai déjà écrit deux fois ce message, je ne sais pas où il est passé, dans les méandres de ce wiki ; ) Ma question est la suivante: est-ce qu'on peu retravailler une image selon les couleurs, de manière assez fine, comme refaire une balance des couleurs, pour ensuite interpoler? Ou est-ce que ça ne se fait pas sous flash? En tout cas, je ne trouve pas comment faire..

Re: balance des couleurs -- Daniel K. Schneider 4 novembre 2010 à 13:50 (CET)

Il n'y a pratiquement pas d'outils pour manipuler une image, à part toutes les routines ActionScript qu'un programmeur peut utiliser. Donc, faut travailler l'image avec un outil externe et ensuite la réimporter.

Ensuite, si vous chercher à faire des animations sur les couleurs, on n'a pas énormément de choix non plus. Si vraiment cela vous tente, il faut de nouveau utiliser ActionScript plus une bonne dose de maths difficiles (cherchez une fois "image manipulation" flash sur le web). Une solution à peu près abordable serait de trouver une librairie ActionScript et qui fait exactement ce que vous voulez. Pour des choses simples je conseille tjrs [1]. Dans ce cas il faut apprendre à utiliser ces librairies (Flash CS4 - Utilisation de librairies). Je vous montrerai cela en période 2.

Re: balance des couleurs -- Jaboulay 17 novembre 2010 à 13:44 (CET)

Moi pour mon animation en background, j'ai joué sur la balance des couleurs depuis Flash. Quand tu insère une image dans une scène (après l'avoir importé dans ta librairie), tu peux modifier différents paramètres (dans Color Effect), tels que la transparence, mais aussi Brillance, teinte et un mode avancé pour toucher indépendamment à chacune des trois composantes couleurs.

Re: Re: balance des couleurs -- Lucie.Marchon 17 novembre 2010 à 13:55 (CET)

Merci j'essaierai

Re: Re: balance des couleurs -- Daniel K. Schneider 17 novembre 2010 à 14:01 (CET)

Re: Re: balance des couleurs -- Daniel K. Schneider 17 novembre 2010 à 14:01 (CET)

Oui exact, enfin il faut transformer l'image en clip et ensuite on peut appliquer un filtre couleur au clip. C'est effectivement une bonne solution, mais attention: l'image de base reste inchangé car il ne s'agit que d'une transformation du clip. C'est pour cela que je conseillais plutot d'adapter l'image en dehors de Flash. Mais si le but est d'animer l'image avec un motion tween, clair qu'il faut utiliser cela....

documentation du fla -- Vjollca Ahmeti 7 novembre 2010 à 16:00 (CET)

Bonjour,

Je ne comprends pas ce qui est demandé au point (2) des tâches pour cet exercice. Il faut documentez le travail en insérant le code. Mais en passant par le menu Modifiy -> Document, je ne comprend pas où est-ce qu'il faut l'insérer. Ce menu propose de régler les dimensions de la scène, la vitesse de lecture de l'animation, la couleur du fond, etc. Mais je ne voit nulle part où est-ce qu'on pourrait documenter le travail. Est-ce que je me trompe de fenêtre ?

Re: -- Daniel K. Schneider 7 novembre 2010 à 18:36 (CET)

C'était pour les versions précédantes de Flash, désolé. Donc dans CS5 c'est

  • File-> File Info

... donc ne faut remplir tous les onglets. Juste un minimum dans le premier. Cela fait partie d'une bonne pratique de développement de documenter au moins avec auteur, date, objectif et statut