Le site www.fousdanim.org n’est plus mis à jour depuis le 10 juillet 2015. Les outils de recherche sont toujours actifs mais nous vous invitons à aller ailleurs pour trouver des lieux plus vivants dédiés au cinéma d’animation.

Petit problème d’apprenti

Discussions, questions, astuces relatives a l'animation Flash et assimile (ToonBoom, etc)

Petit problème d’apprenti

Messagepar eparatos » Sam Juil 28, 2007 1:49 pm

Bonjour,
J'ai cherché dans la documentation flash mais je n'ai pas pu dénouer l’affaire. (J’ai sans doute survolé.)
Mon problème est sur cette animation :

http://apokorunta.free.fr/ours.html

J’aimerais que le grognement se stoppe quand on clique dessus pour que l'aboi soit plus audible.

Et si j’en demande pas trop, j’aimerais aussi savoir comment faire pour qu’un clic suffise à lancer l’animation et que l’on ne soit pas obligé de maintenir le doigt enfoncé.

:)
Avatar de l’utilisateur
eparatos
petit fou, petite folle
 
Messages: 61
Inscription: Lun Nov 21, 2005 8:18 pm
Localisation: toulouse
Film d'animation culte: Candy-boy

Messagepar Couitili » Sam Juil 28, 2007 11:59 pm

Question en deux temps que voilà.

Tout d'abord, pour le son, tout dépend de la manière dont tu l'intègres à l'anim, et là on va parler code. Le plus simple pour gérer les sons est de passé par les object Sound. Après tu peux régler leur volume et tout. Je te laisse chercher, je ne suis pas encore une spécialiste en son, et expliquer via un simple texte écrit ne serait pas facile. Mais c'est du code.
Qui commenrait par un truc du genre :
var monSon = new Sound;


Ensuite, pour le fait que ton animation ne se déroule que quand on reste cliqué, j'ai besoin d'en savoir plus. De quelle manière as tu construit ton animation ? A priori tu aurais plusieurs clips, un qui fait rien, un que tu fais apparaitre au survol, et un autre qui doit tourner quand tu cliques. Là l'idéal serait de voir le code que tu as mis. Et aussi savoir quel effet tu comptes obtenir. A priori le clip de l'aboiement tourne en boucle. Mais tu veux qu'il se joue qu'une fois ou qu'il boucle au final ?

En gros, en savoir plus sur ce que t'as fait ne ferait pas de mal pour qu'on puisse aider ; )
Avatar de l’utilisateur
Couitili
jeune névrosé(e)
 
Messages: 14
Inscription: Mar Juil 19, 2005 3:59 pm
Localisation: Annecy

Messagepar eparatos » Dim Juil 29, 2007 2:58 pm

J'ai fait un bouton, tout ce qu'il y a de plus simple, avec les trois positions proposées par défaut.
Je n'ai mis aucun code parce que je n’y connais rien et si je m'y lance j’ai peur de perdre ma femme et mes enfants.
J’ai juste réussi à arrêter le grognement en faisant un « stopAllSounds» dès que la souris n’est plus sur le bouton. Je ne connais pas la commande pour arrêter un son ciblé.
Je lis sur des tutoriaux qu’il faut mettre « monSon.stop() » mais ça ne marche pas…

Pour la seconde question oublions l’ours grognon, chez lui le simple clic n’est pas si gênant, mais admettons que je veuille faire une nouvelle animation, très primitive avec un bouton qui en un clic lance une autre anim. Ca doit pas être bien compliqué, non ?

D’avance merci à qui se penchera sur mes infirmités.
:cry:
Avatar de l’utilisateur
eparatos
petit fou, petite folle
 
Messages: 61
Inscription: Lun Nov 21, 2005 8:18 pm
Localisation: toulouse
Film d'animation culte: Candy-boy

Messagepar Couitili » Dim Juil 29, 2007 3:13 pm

Alors à mon avis le plus simple pour tes différents ours c'est de créer 3 clip (ctrl + F8), un pour chaque état. par exemple : tranquille_mc, grognon_mc, cri_mc.

tu les places chacun sur une frame sur la meme timeline les uns à la suite des autres.
sur une autre time line au dessus, tu ajoutes un bouton transparent de la taille de ton ours que tu appelles bouton_btn. Il te faudra aussi nommer son occurence dans le tableau des propriétés à gauche (tu mets le même nom). le bouton doit prendre 3 frames (mais attention, une seule image clé)

ensuite, tu crées une autre timeline que tu nommes "action", c'est sur elle que tu placeras ton code.
Sur la premiere tu décris les fonctions du bouton :

stop();
// on arrete la lecture de l'anim pour rester sur l'ours tranquille

_root.bouton_btn.onRollOver = function(){
gotoAndStop(2);
}
// on va au grognement

_root.bouton_btn.onRollOut = function(){
gotoAndStop(1);
}
// on revient à l'ours tranquille

_root.bouton_btn.onPress= function(){
gotoAndStop(3);
}
//on va au cri


Tu retournes dans ton clip cri_mc (en double cliquant sur l'occurence qui est dans ta scene, ou en double cliquant dessus dans la bibliotheque).
Tu rajoutes une timeline que tu nommes aussi "action", et sur la derniere frame de ton anim tu mets le code
_root.gotoAndStop(2);



Pour résumer, tu as une anim sur chaque frame et le bouton te permets de naviguer entre en gotoAndStop();

Bon là ce que je te dis c'est vraiment du bricolage, mais au moins tu peux commencer à voir un peu la logique du code.

Bon courage !
Avatar de l’utilisateur
Couitili
jeune névrosé(e)
 
Messages: 14
Inscription: Mar Juil 19, 2005 3:59 pm
Localisation: Annecy

Messagepar eparatos » Dim Juil 29, 2007 6:21 pm

Merci Beaucoup ! C'est très clair, j'ai bien tout suivi, mais il y a un os, quand je passe la souris dessus il ne se passe rien... Je ne voudrais pas passer pour le type lourd et complètement assisté mais est-ce que ça te dérangerait d’y jeter un coup œil ?
http://apokorunta.free.fr/ours2.rar
Avatar de l’utilisateur
eparatos
petit fou, petite folle
 
Messages: 61
Inscription: Lun Nov 21, 2005 8:18 pm
Localisation: toulouse
Film d'animation culte: Candy-boy

Messagepar Couitili » Dim Juil 29, 2007 10:32 pm

Tu as simplement oublié de nommer l'occurence du bouton.

Il faut que tu cliques sur l'occurence du bouton sur ta scène, tu ailles dans le panneau des propriétés (en bas sur pc, fenetre flottante sinon), à gauche il y a un champ de saisie où c'est écrit en grisé <nom de l'occurence>. C'est ici que tu dois mettre " bouton_btn ".

Après ça marche ; )
Avatar de l’utilisateur
Couitili
jeune névrosé(e)
 
Messages: 14
Inscription: Mar Juil 19, 2005 3:59 pm
Localisation: Annecy

Messagepar eparatos » Lun Juil 30, 2007 2:47 pm

arf, le son ne s'arrête pas. Mais sinon cest bon, j'ai compris le fonctionnement je vais faire de nouvelles choses, merci.
Avatar de l’utilisateur
eparatos
petit fou, petite folle
 
Messages: 61
Inscription: Lun Nov 21, 2005 8:18 pm
Localisation: toulouse
Film d'animation culte: Candy-boy

Messagepar gadeujo » Lun Juil 30, 2007 3:36 pm

salut

oui, le son s'arrête pas car dans lors du clic, le curseur de la souris est toujours au-dessus du bouton (il y a conflit entre les 2 instructions onrollOver et onPress, quoi).
Vaudrait mieux gérer le son par code, ce serait + simple en fait.

Exemple avec juste un clip principal contenant toutes tes animations (sans bouton transparent) :

1. tu créés un clip ayant comme nom d'occurence dans le panneau Propriétés : ours
dans ce clip, tu créés 3 images clés qui se suivent. Sur chaque image tu mets un de tes clips :
à l'image 1 : ton ours calme (tranquille_mc)
à l'image 2 l'ours grognon (grognon_mc)
à l'image 3 : l'ours qui gueule (cri_mc)
NB : inutile de leur donner des noms d'occurence sauf si tu veux les contrôler autrement ensuite.

2. Tu supprimes dans chaque clip les calques qui contiennent des sons.

3. Dans le panneau Bibliothèque (Ctrl + L) :
- tu fais un clic droit sur l'élément grr.mp3 et tu choisis Liaison (ou Linkage) dans le menu.
Dans la boite de dialogue Propriétés de liaison, tu coche la case Exporter pour ActionScript et tu supprimes .mp3 dans le champ Nom de l'identifiant.
- Tu fais la même chose pour le son waf.wav
Tu as donc maintenant 2 sons en liaison (grr et waf) que tu peux contrôler avec du code

4. Dans la séquence principale, tu créés un 2e calque, tu ouvres le panneau Actions et tu copies-colles ce code :
Code: Tout sélectionner
ours.stop();//on arrête la lecture du clip ours sur sa 1ère image

var monSon = new Sound (this);//on créé un objet monSon pour contrôler tout ça
function leSon (truc) {//avec une jolie fonction (le paramètre truc permet de récupérer le nom du son en liaison)
   monSon.stop();//on arrête le son en train de jouer
   monSon.attachSound (truc)//on le remplace par l'autre
   monSon.start (0,999);//et on le lance (dès l'action sur le bouton et joué 999 fois)
}

ours.onRollOver = function () {//au survol du clip ours
   this.gotoAndStop(2)//on va à l'image 2 de ce clip (grognement)
   leSon ("grrr");//on lance la fonction leSon en lui indiquant le son à jouer (truc)
}
ours.onRollOut = function () {
   this.gotoAndStop(1);//on va à l'image 1 du clip ours (tranquille)
   monSon.stop();//on arrête le son en train de jouer
}

ours.onPress = function () {
   this.gotoAndStop(3);//on va à l'image 3 du clip ours (cri)
   leSon ("waf");//on lance la fonction leSon en lui indiquant le son à jouer (truc)
}

Après, tu peux gérer au relâchement de la souris si tu reviens au départ ou à l'image 2 etc, etc...

voili voilo
Avatar de l’utilisateur
gadeujo
petit fou, petite folle
 
Messages: 72
Inscription: Mar Fév 17, 2004 2:43 pm


Retourner vers Section Flash et Vectoriel

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 39 invités