begin process at 2012 05 26 13:22:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Une action pour plusieurs occurences


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Une action pour plusieurs occurences

lundi 9 avril 2007 à 14:57:06 | Une action pour plusieurs occurences

nuclearprout

Bonjour, j'ai un soucis. Sur mon scénario principal, j'ai une centaine de copies d'un clip "marg", dont les noms d'occurence sont tous "marg". J'ai cette action.

var mic:Microphone = Microphone.get();
this.attachAudio(mic);
this.onEnterFrame = function() {
    marg._xscale = marg._yscale=mic.activityLevel+Math.ceil(Math.random()*5);

Ce code fait grossir mon clip en fonction du volume d'entrée du micro. Bon, le soucis, c'est que ce code ne fonctionne que pour une seule copie du clip. Je sais que je pourrais mettre ce bout de code directement dans le clip "marg" ainsi ;

this.onEnterFrame = function() {
   this._xscale = this._yscale=mic.activityLevel+Math.ceil(Math.random()*5);

Mais en fait non... Je vous explique pourquoi, c'est en fait parce que le clip en question contient 5 images, si bien que la prise du son par le micro est raffraichie tout les 6ème de secondes (anim à 30im/sec), ce qui fait que j'ai un écho insupportable que je ne peux réduire même en faisant appel à la fonction setUseEchoSuppression(true);

Ce que je souhaiterais donc faire c'est éviter de taper un code du genre :

this.onEnterFrame = function() {
    marg0._xscale = marg0._yscale=mic.activityLevel+Math.ceil(Math.random()*5);
    marg1._xscale = marg1._yscale=mic.activityLevel+Math.ceil(Math.random()*5);
    marg2._xscale = marg2._yscale=mic.activityLevel+Math.ceil(Math.random()*5);
    marg3._xscale = marg3._yscale=mic.activityLevel+Math.ceil(Math.random()*5);
    marg4._xscale = marg4._yscale=mic.activityLevel+Math.ceil(Math.random()*5);
..................

Un truc bien chiant et qui ferai monter en flèche la conso du CPU
N'y aurait-il donc pas moyen de généraliser mon action à marg+"n" ou 0>n>100 ?
Merci à vous.

mardi 10 avril 2007 à 11:27:27 | Re : Une action pour plusieurs occurences

Darkrats

Salut

En fait, tu voudrais quelque chose comme ça :

Code :

    this.onEnterFrame = function() {
   
    for(var numero :Number = 0; numero < nombreMaxi; numero++)
            this["marg" + numero ]._xscale = this["marg" + numero ]._yscale=mic.activityLevel+Math.ceil(Math.random()*5);
        }
   
}
// Fin code

Une simple boucle for() devrait te suffir, non ?
Ne pas, bien évidemment, oublier de créer la variable nombreMaxi et lui attribuer une valeur.
De plus, il faut vérifier que le ciblage de tes clips est correct, enfin t'as compris l'idée

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
mardi 10 avril 2007 à 12:37:22 | Re : Une action pour plusieurs occurences

nuclearprout

Voilà, ça me semble être ça, je vais tester, même si pour le coup j'ai déjà écrit mes 100 lignes, c'était un truc urgent...
Néanmoins, maintenant je saurais.
Merci à toi !



Cette discussion est classée dans : math, xscale, yscale, activitylevel, mic


Répondre à ce message

Sujets en rapport avec ce message

rectangle elastic [ par defunes ] Bonjour j'essai de realiser un rectangle qui change de taille avec effet elastique. je voudrais que les tailles ( + effets  elastique ) soit controler pb de drag and drop [ par quentingao ] Bj à tous,alors voila je suis un récent utilisateur de flash, et je galère un max, prés de 2 semaines que je suis  bloquer entre mon PC et mon patron, probleme avec setTimeout [ par crasse ] bonjour ^^j'essai de donner un retard a une fonction a l'aide de setTimeout mais je n'y arrive pas du tout, voila mon script :m = Microphone.get();att function() flashMX [ par 20156 ] Salut à tous;) bon voilà quelques temps que je me prends la tete pour faire une anim!! j'ai découvert les function() sur les didacticiels de flashMX a erreur script effet de texte [ par dum dum ] Bonjour,J'ai récupéré un super effet de texte style "the void", mais il y a une erreur de syntaxe ligne 1 et 21 à cause des accolades. Merci de votre erreur de syntaxe! à l'aide! [ par dum dum ] Bonjour,J'ai récupéré un super effet de texte style "the void", mais il y a une erreur de syntaxe ligne 1 et 21 à cause des accolades. Merci de votre phototèque [ par nchahat ] Salut tous le monde. J'ai rédigé deux fonctions, l'une pr agrandir  et l'autre pour réduire une image.je duplique avc un duplicate movie le premier c Probleme avec gestionnaire d'évenement sur clip [ par Rivers64 ] Bonjour a tous , je poste ce message car j'ai un probleme avec des gestionnaires d'evenements voila mon soucis :(j'utilise flash 8)   _root.createEmpt interpolation pour _xscale et _yscale???? [ par diegomm ] Bonjour à tous!! C'est la première fois que je poste... Je suis graphiste de formation et j'aime beaucoup "chipoter" dans Flash. Ici j'ai un gros pro rebond sur souris et mur [ par honpou ] salut,je suis super nouveau dans flashkod, donc je me presente : honpou webdesigner, graphiste!je fais du flash depuis quelques temps et j'ai de bonne


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales