begin process at 2012 05 27 22:46:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

toujours mon 'i' qui se bloque à la valeur max


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

toujours mon 'i' qui se bloque à la valeur max

dimanche 15 juillet 2007 à 11:53:45 | toujours mon 'i' qui se bloque à la valeur max

mikouRoux

ReResalut,

J'espère que vous n'allez pas finir par en avoir mare de moi et de mes questions stupides :D
Surtout toi embalmer qui déjà m'a sauvé la vie 2 fois hier. Encore un grand merci.

Cette fois ci, j'ai un problème pour charger un noeud XML
Théoriquement j'aimerais que le 'trace(i)' de la fonction m'affiche le numéro du clip 'dot'+i+'_mc'.
Exemple : quand dot5_mc alors i = 5.
Actuellement le 'i' à l'intérieur de la fonction onPress (celui qui est censé charger le bon noeud XML) reste bloqué à 17...

function onEnterFrame(){
    for(i=1; i<=16; i++){
        light(focus_mc=this['dot'+i+'_mc']);
        this['dot'+i+'_mc'].onPress = function(){           
            viewer_mc._visible = true;
            trace(i);
            trace(xml.firstChild.childNodes[i-1].attributes.image);
        }
    }
}


Merci d'avance
MikouRoux
dimanche 15 juillet 2007 à 13:26:39 | Re : toujours mon 'i' qui se bloque à la valeur max

pegase31

Membre Club Administrateur CodeS-SourceS
ce qu'il t'arrive est plus que normal :

Tu crées à la volée des fonctions "onPress", mais ton "i" continue jusqu'à la fin .. si tu traces "i", tu obtiendras toujours la même valeur partout.

Tu penses que ton "i" est figé dans la fonction de chaque bouton, alors que "i" est une variable qui évolue même après, ce qui te crées ce souci. La solution est de créer un "i" dans ton bouton et de l'appeller par "this.i", là il sera figé.

Peg'
dimanche 15 juillet 2007 à 13:40:36 | Re : toujours mon 'i' qui se bloque à la valeur max

mikouRoux

ca ne fonctionne toujours pas.
Cette fois ci avec 'this.i', il me retourne  : i : undefined

function onEnterFrame(){
    for(i=1; i<=16; i++){
        light(focus_mc=this['dot'+i+'_mc']);
        this['dot'+i+'_mc'].onPress = function(){
            trace("i : "+this.i);
            viewer_mc._visible = true;
            loadMovie(xml.firstChild.childNodes[i-1].attributes.image , _root.viewer_mc.roomPicture_mc)
        }
    }
}

++
dimanche 15 juillet 2007 à 15:08:41 | Re : toujours mon 'i' qui se bloque à la valeur max

embalmer

Réponse acceptée !
Re,

Perso je fonctionne de 2 manières dans ce genre de situation :

Soit la manière de Peg' qui consiste à te créer à la vollé une variable contenant "i" à l'intérieur de ton clip cliqué, par exemple :

function onEnterFrame(){
    for(i=1; i<=16; i++){
        light(focus_mc=this['dot'+i+'_mc']);
        this['dot'+i+'_mc'].onPress = function(){
            this.nbr = i;
            trace(this.nbr);
            viewer_mc._visible = true;
            loadMovie(xml.firstChild.childNodes[nbr-1].attributes.image , _root.viewer_mc.roomPicture_mc)
        }
    }
}


Soit en récupérant le nombre contennu dans ton nom d'occurence (ex : 52 de 'dot52_mc') :


function onEnterFrame() {
    for (i=1; i<=200; i++) {
        light(focus_mc=this['dot'+i+'_mc']);
        this['dot'+i+'_mc'].onPress = function() {
            var number = this._name.substring(3, this._name.length-3);
            trace(number);
            viewer_mc._visible = true;
            loadMovie(xml.firstChild.childNodes[number-1].attributes.image, _root.viewer_mc.roomPicture_mc);
        };
    }
}



Voilà, voilà , par ailleurs lorsque tu attribue à ton clip un gestionnaire d'évènement onPress tu n'a pas besoin de le répéter dans un enterFrame.

PS : Ta question est loin d'être stupide, un forum c'est fait pour aider, quelque soit le niveau... on a tous débuté un jour

++


dimanche 15 juillet 2007 à 16:04:58 | Re : toujours mon 'i' qui se bloque à la valeur max

mikouRoux

Génial,

Je te remercie encore une fois ! Merci à toi aussi Peg.

Embalmer, la première solution donne le même résultat que celui de peg : nbr = undifined.
J'ai donc opté pour la deuxième solution, celle de récupérer le nombre dans mon nom d'occurence, ce qui marche très bien.
Il y a tout de même un côté un peu 'bricolage' qui me tracasse, mais ici ca fonctionne très bien :)

Sinon, pour le onPress je le répete dans le on enterFrame, car si je le met en dehors de la première fonction, j'ai ce fameux problème de i. Il ne trouve sa valeur que si onPress se trouve imbriqué dans onEnterFrame (J'espère que je suis assez compréhensible)


En tous les cas merci à vous ;) Vive ce forum :)
++
MikouRoux
dimanche 15 juillet 2007 à 17:02:37 | Re : toujours mon 'i' qui se bloque à la valeur max

embalmer

Réponse acceptée !
autant pour  moi j'ai écris une connerie sur ma 1 ère proposition. Il faut que tu fasse une première boucle pour créer la variable "nbr" et ensuite une  boucle pour ton évènement onPress

for (i=1; i<=6; i++) {
    this['dot'+i+'_mc'].nbr = i;
}
for (j=1; j<=6; j++) {
    this['dot'+j+'_mc'].onPress = function() {
        trace(this.nbr);
    };
}


++


Cette discussion est classée dans : mc, toujours, dot, trace, bloque


Répondre à ce message

Sujets en rapport avec ce message

clip qui trace une courbe [ par dugenou ] Bonsoir à tous, J'ai utilisé ce code pour tracer une courbe, (merci Flashkod), c'est à dire que l'on voie la courbe se tracer.je voudrais mettre ce sc Probleme D'affichage Sur Galerie Dynamique en ligne URGENT!!!! [ par ganja31200 ] Bonjour a tous pour commencer.....j'ai créer une galerie d'image dynamique en flash...elle fonctionne en local sans probleme, mais lorqu'elle est en l chargement dynamique et liens après action [ par tyler durden ] Bonjour à tous, je vous explique rapidos mon problème. Je veux créer une gallerie d'images par thème. 3 thèmes sont disponibles. Les images sont stoc Appeler une variable dynamique [ par djullz ] J'ai un probleme avec un menu XML en Flash. Quand je cree un clip pour y charger un swf externe, je veux passer a ce swf une variable afin qu'elle s'a flash vs PHP [ par jokeonde ] J'ai 3 fichiers : 1 HTML avec la fonction    1SWF (qui doit communiquer avec le PHP)  1PHP (qui utilise la fontion mailto) je crois que mes infos part Position des clips dans une animation [ par dugenou ] Bonjour, j'ai une animation dans laquelle une ligne se trace suivant un guide le script utilisé est le suivant :_level0.createEmptyMovieClip("ligne_mc deux onEnterFrame [ par whouu ] Bonjour a tous , jai un souci voici mon code : mc.onEnterFrame = function() { if (_root.A.hitTest(B)) {< loadVariables, texte dynamique, et accès dans flash ? [ par PEHA ] Bonjour à tous, avant même de commencer mon envolée lyrique décrivant mon problème, je tiens à signaler avoir passé un bon moment sur le(s) forum(s) p LoadBitmapSmoothed dans un clip avec duplicateMovie qui ne loade pas les images [ par BBFUNK01 ] Bonsoir tout le monde, je suis en train d'essayer de modifier mon diaporama pour loader les miniatures, initialement les miniatures étaient loadées v Limite de page trop courte [ par karolyn74 ] BonjourJ'ai un soucis qui je pense est minime mais je n'arrive pas à trouver quel chiffre et où il faut le modifiez et si il faut mettre plus grand ou


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,281 sec (3)

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