begin process at 2012 05 27 21:28:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Utilisation des boucles ?


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

Utilisation des boucles ?

vendredi 29 février 2008 à 11:37:15 | Utilisation des boucles ?

fanatikx

Bonjour,

Voila, j'ai un petit soucis au niveau des boucles. Disons que j'ai 2 clip sur ma scène qui contiennent chacuns une image. Je veux que lorsque je survolle le clip en question, l'image grandit et que lorsque que je ne le survolle plus, qu'elle reprenne sa taille initiale (classique). J'ai donc fait ceci, en nommant mes deux clips img_1 et img_2 respectivement:

img_1.onRollOver=function()
{
    var mh:Tween = new Tween( img_1, "_height", Strong.easeOut.Elastic, img_1._height, 70, 5 );
    var mw:Tween = new Tween(img_1,"_width", Strong.easeOut.Elastic, img_1._width,70,5);
}
img_1.onRollOut=function()
{
    var mh:Tween = new Tween( img_1, "_height", Strong.easeOut.Elastic,img_1._height, 30, 5 );
    var mw:Tween = new Tween(img_1,"_width", Strong.easeOut.Elastic, img_1._width,30,5);
}


img_2.onRollOver=function()
{
    var mh:Tween = new Tween( img_2, "_height", Bounce.easeOut, img_2._height, 70, 5 );
    var mw:Tween = new Tween(img_2,"_width", Bounce.easeOut, img_2._width,70,5);
}
img_2.onRollOut=function()
{
    var mh:Tween = new Tween( img_2, "_height", Bounce.easeOut,img_2._height, 30, 5 );
    var mw:Tween = new Tween(img_2,"_width",Bounce.easeOut, img_2._width,30,5);
}

Bon ca sa marche nikel, mais j'ai une cinquantaine d'image et je me vois mal faire ca pour toutes alors je me demandais s'il n'y avait pas moyen d'utiliser une boucle ou un truc dans ce gout là

Voila

Merci d'avance
vendredi 29 février 2008 à 15:39:41 | Re : Utilisation des boucles ?

smoochy

Réponse acceptée !
hello, a controler dans la syntaxe parce que c'est de tête et je fais toujours des erreurs d'inatentions en tapant... tu as essayé un truc comme ca voir si ca marche? for (i=1; i<=50; i++) { cheminjusquauclip["img_"+i].onRollOver = function () { var mh:Tween = new Tween( this, "_height", Strong.easeOut.Elastic, this._height, 70, 5 ); var mw:Tween = new Tween(this,"_width", Strong.easeOut.Elastic, this._width,70,5); } cheminjusquauclip["img_"+i].onRollOut = function () { var mh:Tween = new Tween( this, "_height", Strong.easeOut.Elastic,this._height, 30, 5 ); var mw:Tween = new Tween(this,"_width", Strong.easeOut.Elastic, this._width,30,5); } }
vendredi 29 février 2008 à 19:08:50 | Re : Utilisation des boucles ?

fanatikx

je pense que j'aurais pu, mais j'ai trouvé un autre moyen: créer carrément une fonction modifier taille en passant en parametre le nom de l'image en question. Ca me donne ca et a marche nikel!

function modifier_taille(clip)
{
    clip.onRollOver=function()
    {
        var t: Tween = new Tween(clip,"_height", Strong.easeOut,clip._height,60,5);
        var t: Tween = new Tween(clip,"_width",Strong.easeOut,clip._width,60,5);
        clip.swapDepths(0);
       
    }
    clip.onRollOut=function()
    {
        var t: Tween = new Tween(clip,"_height", Strong.easeOut,clip._height,30,5);
        var t: Tween = new Tween(clip,"_width",Strong.easeOut,clip._width,30,5);
    }
}

modifier_taille(img_1)
modifier_taille(img_2)
modifier_taille(img_3)
modifier_taille(...)

voili voilou, merci quand même pour ta réponse, je crois que je vais essayé avec une boucle for pour voir!

++
samedi 1 mars 2008 à 16:53:48 | Re : Utilisation des boucles ?

smoochy

et à la fin tu ecris 50 fois modifier_taille(...)? essaie quand même juste de noter un truc du genre voir si ca remplace tes 50 lignes de codes: function modifier_taille(clip) { clip.onRollOver=function() { var t: Tween = new Tween(clip,"_height", Strong.easeOut,clip._height,60,5); var t: Tween = new Tween(clip,"_width",Strong.easeOut,clip._width,60,5); clip.swapDepths(0); } clip.onRollOut=function() { var t: Tween = new Tween(clip,"_height", Strong.easeOut,clip._height,30,5); var t: Tween = new Tween(clip,"_width",Strong.easeOut,clip._width,30,5); } } for (i=1; i<=50; i++) { modifier_taille("img_"+i); }
dimanche 2 mars 2008 à 13:39:19 | Re : Utilisation des boucles ?

fanatikx

En effet ce ne serait pas du luxe d'utiliser une boucle comme celle ci, mais je te présentes le pb dans son ensemble. Disons que j'ai trois images sur ma scène, chacune étant une photo d'un lieu. Je nomme donc ces 3 images selon le nom du lieu d'où elles proviennent. Ensuite, je mets en place  un classement qui permets de réorganiser les images selon 3 critères; le nom, la date et le theme abordé (ou thématique).

Je ne peux pas nommer mes images "img_1", "img_2",... car ma fonction nom prend le premier caractère du nom de mon image et la réorganise dans l'ordre alphabétique selon ce premier caractère. En fait, je veux que tout soit automatique, cad que lorsque l'on met une nouvelle image sur la scène, on a juste à la nommer et a appeler la fonction correspondante pour la réorganisation au lieu de devoir taper avec tween a chaque fois les coord d'arrivées.

Je ne sais pas si j'ai été très clair, mais en l'occurrence ma fonction nom rencontre des défauts:

function reorganiser_nom(img)
{
    var nom = img._name;
    premiere_lettre=nom.charAt(0);
    switch(premiere_lettre)
        {
            case "c":
            {
                var t:Tween = new Tween(img,"_x",Strong.easeOut,img._x,30,5);
                var t:Tween = new Tween(img,"_y",Strong.easeOut,img._y,330,5);   
            }
            break;

            case "l":
            {
            var t:Tween = new Tween(img,"_x",Strong.easeOut,img._x,180,5);
            var t:Tween = new Tween(img,"_y",Strong.easeOut,img._y,330,5);
            }
            break;
       
            case "m":
            {
            var t:Tween = new Tween(img,"_x",Strong.easeOut,img._x,330,5);
            var t:Tween = new Tween(img,"_y",Strong.easeOut,img._y,330,5);   
            }
            break;
        }
}

Comme tu peux le voir il suffit qu'il y est deux images qui portent un nom commencant par une même lettre pour qu'elles se superposent au lieu de se chevaucher. Je vais essayer des boucles mais comme je t'ai dit les noms des images n'ont pas une synthaxe identique.

Si t'as une idée, je serais heureux que tu la partages avec moi
lundi 3 mars 2008 à 12:09:38 | Re : Utilisation des boucles ?

smoochy

hello, je n'ai pas testé mais en utilisant un tableau contenant le nom de toutes tes images, tu peux avoir des noms d'images différents, c'est-à-dire que tu peux les appeler n'importe comment. Ensuite tu peux appliquer la fonction à l'ensemble du tableau en un coup... En plus, en regardant un peu la doc, j'ai vu l'option sort() qui permet de trier les éléments d'un tableau justement par ordre alphabetique, il y a donc peut-être moyen d'ecrire tous tes noms dans un tableau, et qu'automatiquement il te les mettent par ordre alphabetique... je crois que je vois à peu près comment faire, si tu veux je peux essayer un petit test chez moi dans le courant de la semaine... en attendant voici le lien à propos des tableau et de la fonction sort () http://wiki.mediabox.fr/documentation/flash/array/sort
lundi 3 mars 2008 à 16:59:38 | Re : Utilisation des boucles ?

fanatikx

J'avais pas pensé au tableau! ja vais essayer de mon coté si tu fais le petit test se serait super sympa de me le faire parvenir! en tout cas merci beaucoup pour l'interet que tu portes à mon soucis!

je vais me renseigner sur les tableaux (je n'ai jamais travaillé avec) y a un début à tout :) ! et merci pour la fonction sort() je vais voir comment m'en servir
mercredi 5 mars 2008 à 09:42:08 | Re : Utilisation des boucles ?

fanatikx

Salut,

bon alors je me suis renseigné à propos des tableaux. A priori le type de tableau qu'il me faudrait  est un tableau multidirectionnel alors je me suis rensigné sur la doc flash et sur le web. J'ai essayé d'appeler du texte et des données String et pour ca pas de soucis mais imposible d'appeler des images et de les déplacer alors qu'elles sont dans le tableau. Je peux les déplacer mais seulement avec setProperty(nomDeMonImage, _x , 80) où 80 correspond à la destination sur l'axe des abscisses de mon image. J'ai remarqué que l'utilisation de cette fonction était déconseillée et de toute évidence mon image se déplace instantanément  et la fonction Tween ne fonctionne puisque trace(nomDeMonImage._x); renvoit "undefined" alors que trace(setProperty(...)) me renvoit les coordonnées entrées.

Pour tout te dire, je n'ai pas vraiment compris l'utilisation des tableaux, du moins celle virtuelle (j'ai du mal à me les imager). Pour indexé des textes ca ne me parait pas bien dure mais alors pour les images...

J'ai regardé la doc sur sort() mais ne comprenant pas encore la logique des tableaux, je pense que c'est l'étape suivante.

Enfin bon, je vais continuer à chercher mais j'avous que si tu avais un bon tuto sur les tableaux et en particulier sur ceux contenant des images ca me serait utile. J'hésite à créer un nouveau sujet sur le forum davantage orienté sur les tableaux mais j'ai peur de flooder et d'un peu trop insister sur un probleme qui dans l'absolu ne me parait pas bien compliqué. Après tout, il n'a fallu qu'a me dire "imbrication de clip" pour me débloquer completement sur flash, peut être y a t il aussi un mot magique pour les tableaux (qui sait...).

D'ailleurs, j'ai le parfait exemple du résultat que je compte obtenir. Il s'agit de Plot architecture et en particulier le site de BIG. Je ne sais pas s'ils se sont pris la tete avec des tableaux où s'ils ont fait un code de 500 lignes.Moi personnellement je préférerais un code léger et facilement optimisable...



jeudi 6 mars 2008 à 12:58:20 | Re : Utilisation des boucles ?

smoochy

oulah, j'ai ete regarder le site BIG et maintenant je vois parfaitement ou tu veux en venir... le problème c'est que c'est assez complexe et que je ne suis pas sûr d'avoir le niveau pour faire ca... Mais l'idée est interessante et je vais essayer de voir ce que je peux faire... Par contre, n'hésite pas à faire un nouveau sujet qui ne parle plus de boucle, mais plutot de "tri de clip par orde alphabetique" ou un truc du genre, avec le lien du site comme exemple... parce que vu que tu as validé une de mes réponses, plus personnes ne va regarder ce post je pense... et je veux bien essayer de mon côté, mais je suis pas sûr de réussir et en plus je pars une semaine en vacances donc si tu es pressé... voilà voilà, bon courage ++
vendredi 7 mars 2008 à 10:53:59 | Re : Utilisation des boucles ?

fanatikx

Non, ce n'est pas plus pressé que ca. Bon et bien Je vais créer un autre sujet  sur le tri!

Merci encore!


Cette discussion est classée dans : var, tween, img, height, easeout


Répondre à ce message

Sujets en rapport avec ce message

carrousel et appel aléatoire [ par seth1 ] Bonjour à tous et à toutes,je réalise actuellement un carrousel (vous savez, ces menus rotatifs) en flash et as2 avec appel XML.Ce dernier fonctionne reorganisation automatique de clip [ par fanatikx ] Bonjour,voila je travail en ce moment sur la création d'un site internet qui contient plusieurs images/vignette (30px par 30). Ces images peuvent être Problème de gestion d'un fichier xml dans un site [ par ximeng ] Bonsoir ! Je suis débutant en AS, je n'utilise jamais le xml et j'ai intégré un code dans mon site qui me rend un peu fou depuis quelques jour, j'ai t Probleme de codage Action script AS3 [ par stef97232 ] Bonjour, Je suis totalement novice dans le codage d'AS3 sur Flash CS4, mon but était de faire une porte qui coulisse latéralement, code que j'ai récu Tweeners Rollover /Rollout Clignotement :-( [ par alphacrash ] Salut à tous ! Je suis tout nouveau dans le monde de l'AS3 et je tente de mettre en place une gallerie photo XML avec un rollover sur chaque thumbnai Les accents en actionscript... Encore une fois... [ par jytest ] Bonsoir à tous. J'utilise Adobe flash cs4. J'ai beau consulter des pages et des pages sur internet, aucune solution pour moi. Dans le tableau "gall stockage variable plus affectation élément array [ par Ariranha ] RE : bonjour, Comme expliquer dans un message antérieur, je suis en train d'essayer de faire un jeu du plombier. Me voici avec un autre problème pou [Flash C - AS3] Les accents [ par jytest ] Débutant en Flash CS4 et Actionscript3, je viens demander votre aide. Ce code fonctionne à merveille... sauf quand je remplace cette ligne var galler Placer un movie clip dans le coin haut droit d'un site resizable [ par syestar ] Bonjour, je n'arrive pas a faire en sorte que mon bouton fullsreen reste dans le coin en haut a droite quand le site se resize... voici le lien : ht AS3 Supprimer une fonction via intéraction de la timeline [ par dieudesdieu ] Salut a tous! Bon alors voila je viens car j'ai un script que je n'arrive pas à arrêter. C'est un visualisateur d'image que je voudrais mettre sur un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,390 sec (4)

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