begin process at 2012 05 27 09:06:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

problème de concaténation..


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

problème de concaténation..

mardi 1 novembre 2005 à 15:44:52 | problème de concaténation..

albeuz

Bonjour à tous!
C'est mon premier message sur ce forum..d'habitude je trouvais des réponses sans avoir à poser de questions mais là je bloque ...
C'est peut être une question conne à laquelle vous avez deja répondu plusieurs fois dans ce cas excusez moi

Bon alors voici mon problème:
Je bosse sur un album photo dynamique, pas très original je sais mais ça permet d'apprendre un peut l'actionscript et c'est une partie d'un site que je dois réaliser...
Donc pour l'instant mon album fonctione pas trop mal, j'ai un clip vide servant de contenant étant lui meme contenu dans un clip formant un contour.
Sur la scene principale j'ai mis le clip du contour qui au lancement de l'animation se multiplie autant de fois qu'il y a de photos dans l'XML, les photos sont bien chargés et tout..pas de probleme de ce coté...

Par contre ensuite j'aimerai pouvoir faire défiler tous les clips ainsi crées...
Sachant que lors de la multiplication ils prennent un nom du style : "clip" + i, i étant une variable s'incrémentant dans une boucle for.
Donc prenons un exemple où j'ai 5photos à afficher, le clip se multipliera 5 fois et les 5 nouveaux clips auront pour nom clip1, clip2, clip3, clip4 et clip5.

Pour faire defiler tout ça j'ai fait un bouton et lorsque je clique dessus j'ai fait une boucle For qui deplacera tous les clips de telle distance vers la gauche (en changeant leur propriété _x)
Mon probleme est que je n'arrive pas à concaténer dans la boucle for afin de pouvoir l'exécuter sur tous les clips presents qu'il y en ai 5 ou 25.
Voici le code de ma boucle :

btn.onPress = function(){
        for(var i = 0; i < MAX; i++) { _root.fond+i._x -= 15;
       
    };
}

btn étant mon bouton, MAX le nombre total de clips et fond + i le nom de ces clips (fond1, fond2, fond3 .... )
le probleme se situe au niveau de _root.fond+i._x ... mais je débute en flash et je vois pas trop comment contourner ça... Quelqu'un peut m'aider  ?

mardi 1 novembre 2005 à 15:55:38 | Re : problème de concaténation..

albeuz

Lol... c'est toujours apres avoir demandé de l'aide que l'on trouve la solution à son problème !

En fait fallait juste faire

btn.onPress = function(){
        for(var i = 0; i < MAX; i++) { _root.["fond"+i]._x -= 15;
       
    };
}

et là miracle, ça fonctione :D

toutes mes excuses

mardi 1 novembre 2005 à 18:02:51 | Re : problème de concaténation..

albeuz

oula...j'ai voulu améliorer un peut ma boucle en rajoutant deux trois trucs mais comme j'y arrivais pas j'ai supprimé le bout de code puis j'ai collé au meme endroit la boucle que je vous ai posté juste au dessus, celle qui était la réponse à ma question tout à l'heure...
problème, maintenant ça me fait la même erreur que tout à l'heure
c'est à dire:

"Un nom de champ est attendu après l’opérateur '.'.
             for(var i = 0; i < MAX; i++) { _root.["fond"+i]._x -= 15; "

alors là je suis sur le cul...
j'avais exactement le même code tout à l'heure et ça fonctionnait, maintenant pas moyen ça veut plus marcher Oo

des propositions?



mardi 1 novembre 2005 à 19:05:07 | Re : problème de concaténation..

goldenboy68

Réponse acceptée !
c'est pas "_root.[]._x", mais "_root[]._x"

@+! Samy


mardi 1 novembre 2005 à 19:08:57 | Re : problème de concaténation..

gyome314

Réponse acceptée !
Bizarre ton erreur...

pour etre sur que ton code est interpréter dans le "bon sens", essais en écrivant:
(_root["fond"+i])._x ...

Aupir, si cette solution ne marche pas, pass par une variable temporaire:
var objtmp = _root["fond"+i];
objtmp._x = ...

Si ce n'est toujours pas ca, il ya forcemment une autre erreur aileurs dans ton code

Bon courage, A+.
Gyome.
mercredi 2 novembre 2005 à 00:09:57 | Re : problème de concaténation..

albeuz

merci à tous les deux ;)
erreur d'attention quand tu nous tiens !

C'était bien le ' . ' qu'il fallait enlever!

Par contre j'en profite pour vous poser une seconde question:

Maintenant que j'arrive à deplacer mes clips grace à cette boucle, j'aimerai bien savoir comment faire pour que le déplacement de mes clips soit 'visible' lorsque l'on clique sur le bouton .... c'est à dire qu'en cliquant dessus, au lieu de se déplacer d'un seul saut vers leur destination, ils y aillent petit à petit... voire avec quelques accélérations / ralentissements mais pour plus tard je pense!

Enfin voila.. si quelqu'un a une solution je suis preneur !

p.s: j'ai fait ce code pour essayer de deplacer un seul clip, il fonctione, le probleme reste au niveau de l'incrémentation de ' i ' ...

_root.onEnterFrame = function(){
         i = 0;
         vitesse= 4;
        _root["fond"+i]._x -= vitesse;}

C'est sans doute nul comme code mais j'ai rien trouvé de mieux ^^ J'attends vos lumières



mercredi 2 novembre 2005 à 08:10:07 | Re : problème de concaténation..

goldenboy68

Réponse acceptée !
Reprend ton code avec la boucle:

vitesse=4;

btn.onPress = function(){
        for(var i = 0; i < MAX; i++) {
            _root["fond"+i]._x -= 15;
            _root["fond"+i].limite=i*20; //ici tu peux mettre un truc fixe ou alors une variable à l'extérieur de la boucle (comme vitesse)
            _root["fond"+i].onEnterFrame=function(){
               if(this._x>this.limite){
                   this._x-=vitesse;
                   vitesse*=0.9;
              }else{
                  vitesse=4;
                  delete this.onEnterFrame;
              }
            }
        }
}

Tu devrais voir tes "fonds" se déplacer...mais tous en même temps...tu peux définir une vitesse aléatoire pour chacun (avec Math.random() par exemple), ou créer plusieurs boutons...enfin y'a plein de possibilités...amuse-toi bien!

@+! Samy

mercredi 2 novembre 2005 à 09:55:38 | Re : problème de concaténation..

albeuz

merci bien ;)

entre temps j'ai trouvé cette solution : (jsui trop tétu pour avoir la patience d'attendre une réponse ^^ resultat: couché à 4h du mat )

_root.btn.onRollOver = function(){
 vitesse= -5;   
_root.onEnterFrame = function(){
    e = 0;
    i = 0;
       do {           
        largeur = _root.fond0._width;
         if ( _root["fond"+i]._x < 0 - largeur/2){
             _root["fond"+i]._x = 800 }
        _root["fond"+i]._x += vitesse;
        _root["fond" + i ].onRollOver = function(){
         vitesse = 0;}
        i += 1;
        e += 1;}
     while(e < MAX );   
}}

j'ai testé ta solution et ça marche aussi ;)

mercredi 2 novembre 2005 à 18:20:35 | Re : problème de concaténation..

albeuz

bon ben...voila j'ai bossé bossé bossé ( bien obligé, je débute en flash...) et finalement ben je comprends les adeptes de l'orienté object :D
j'ai tenté de traduire mon code ci-dessus en oo, et là ben ça a résolu la plupart des problemes que j'avais dans le collimateur..c'est à dire, recupérer le nom du clip sur lequel on clique et d'autres trucs de ce style!

C'était juste pour conseiller à ceux n'osant pas trop s'enfoncer dans l'oo qu'ils ont tout à gagner à s'y lancer

Pour info voici mon bout de code en version oo :

MovieClip.prototype.Deplacement = function(v,l,m,es) {
    this.onEnterFrame = function(){
        var e = 0;
        var i = 0;
        do { if ( this._x < 0 - l/2) {
            this._x = (m*l + m*es)- l;}
               this._x += v;
                i += 1;
                e+=1;}
        while(e <= m);}   
}

plus court, plus simple à comprendre et surtout beaucoup plus pratique !!!!!

jeudi 3 novembre 2005 à 08:04:38 | Re : problème de concaténation..

goldenboy68

Tout dépend de ton projet et de l'utilité finale que tu en as, sinon, c'est vrai que c'est plus pratique l'OO.

Par contre, ta version de l'orienté objet correspond à l'AS 1, si tu es entrain de t'y mettres, j'te conseille p't'être de directement prendre les habitudes de l'AS 2! (déclaration de véritables classes dans un fichier .as ...etc...

@+! Samy



Cette discussion est classée dans : problème, boucle, clip, for, clips


Répondre à ce message

Sujets en rapport avec ce message

SVP problème avec les clips & les scrollings [ par djiboul ] Bonjour à tous, je suis nouveau içi et je débute en flash MX (on a déjà dû vous la faire celle là )je pense avoir un problème aves les ciblages mais j boucle sur le nom d'occorence d'un clip [ par py2lyon ] Bonjour,déja je tiens a remercier brievement tous ceux qui font vivre ce site qui est un vrai mine d'or pour le flash.j'ai plusieurs clip qui s'appe Problème de coloration de clips assez basique. [ par rocketknight ] Salut !Bon je ne vais pas y aller par 4 chemins, je débute depuis peu.Je souhaiterai savoir comment changer la couleur d'un clip en action script :J'a problème de boucles... [ par racus ] Bonjour a tous, Je souhaiterais écrire un script qui redimensionne un clip avec un boucle for (ou while). J'ai pour l'instant écrit ce script mais il Des clips joués dans un clip, le tout en Random SVP ^^ [ par Ted_Bear75 ] Voila, j'ai un petit problème avec mon animation, je vous explique. <sp problème de boucle [ par quentin_34 ] Bonjour,Je me suis récement lancé dans l'édition flash, j'utilise SWISHmax pour l'instant, pour une facilité (des effets de texte prédéfinis).J'ai cré bouton interrupteur et boucle for [ par silentworld ] Bonsoir à tous, je travail pour la première fois sérieusement sous flash notamment en action script.Mon but est de créer un menu contenant 5 boutons.C probléme clips et boutons [ par Patounoff ] Bonjour,malgré de nombreuses recherches je me heurte à un problème de sript en  flash (je suis débutant )J'ai réalisé une page flash (1000x600) compo As3 boucle For MovieClip [ par aerofx ] Bonjour à tous, Voilà mon petit soucis : Je dois dupliquer un movieClip , my_clip, (via une boucle for). Mais il faut que je puisse agir sur chaque Creation de plusieurs movieClip dans une boucle for, avec nom variable [ par quepebaBIS ] Bonjour, Voila, j'essais de creer par une boucle for un ensemble de clip qui contiendront des images récupérer via xml. Donc mes adresses d'images so


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 : 2,933 sec (3)

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