IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH 8] Chemin d'acces a un clip


Sujet :

Flash

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 27
    Points
    27
    Par défaut [FLASH 8] Chemin d'acces a un clip
    bonjour,

    Voila j'ai des " sous sous" clip que je reconnait en ecrivant
    _root.carte.legende.bt1
    _root.carte.legende.bt2
    _root.carte.legende.bt3....

    Je voudrais les utiliser dans une boucle for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(i=0;i<16;i++)
    {
            _root.carte.legende[bt[i]].onRelease=function()
                  {
                     ............
                  }
    }
    mais la syntaxe ne dois pas etre bonne
    Si vous avez une idée merci

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    _root.carte.legende["bt"+i]

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 27
    Points
    27
    Par défaut
    ca marche nikel merci beaucoup

    Si je peux me permettre un autre petite question

    en fait donc je fais un tableau avec le nom de plusieurs de mes clip et je veux y acceder a partir de mon bouton _root.carte.legende["bt"+i].onRelease=function()
    mais il ne le reconnait pas, je pense pourtant que cette syntaxe est bonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for(i=1;i<16;i++)
    {
    	tab=new Array("courDeau","relief","calanque","espaceUrbain","habitat","fleche","zoneIndus","prison","techno","campMilitaire","autoroute","voieFerree","agricole","brousaille","foret","site");
    	
    	_root.carte.legende["bt"+i].onRelease=function()
    	{
    		trace(_root.carte[tab[i]]) // undefined
    		_root.carte[tab[i]].play();
    		this.enabled=false 
    		ctpBT++
    	}
    }
    il ne trouve pas mon clip qui s'apel _root.carte.courDeau par exemple
    alors que le trace(_root.carte.courDeau)
    affiche
    _level0.carte.courDeau

    merci d'avance

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    je pense que le fait que tu soies dans la méthode onRelease de ton bouton ne te donne plus la portée de i donc il ne trove aucune valeur pour i.
    une methode un peu brutale mais qui pourrait fonctionner serait de déclarer i en _global

    _global.i=0;

  5. #5
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par luta
    je pense que le fait que tu soies dans la méthode onRelease de ton bouton ne te donne plus la portée de i donc il ne trove aucune valeur pour i.
    J'ai eu le même problème avec des boutons que j'affichais dynamiquement et je pense que le i est reconnu dans l'évênement onRelease mais il prend en compte sa valeur max (16 dans ton cas); théorie à vérifier en traçant la variable.

    Si tu ne veux pas utiliser une variable globale tu peux suivre la méthode suivant (qui me semble plus compliquée mais perso je n'aime pas le_global ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for(i=1; i<16; i++){
    	tab = new Array("courDeau","relief","calanque","espaceUrbain","habitat","fleche","zoneIndus","prison","techno","campMilitaire","autoroute","voieFerree","agricole","brousaille","foret","site");
    	
    	_root.carte.legende["bt" + i].Id = i;
    
    	_root.carte.legende["bt" + i].onRelease = function(){
    		trace(_root.carte[tab[this.Id]])
    		_root.carte[tab[this.Id]].play();
    		this.enabled = false
    		ctpBT++
    	}
    }
    Sinon est-ce normal que tu réinitialise à chaque fois ton tableau tab dans ta boucle for ?
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  6. #6
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    oui c vrai c bizarre la réinitialisation tinet j avais pas vu ;(
    autre méthode au moins aussi sympa que celle de nounetmasque, affecter une propriété à ton bouton qui serait...l objet cible
    a tester aussi
    du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    tab = new Array("courDeau","relief","calanque","espaceUrbain","habitat","fleche","zoneIndus","prison","techno","campMilitaire","autoroute","voieFerree","agricole","brousaille","foret","site");
    for(i=1; i<16; i++){
    	_root.carte.legende["bt" + i].target = _root.carte[tab[i]];
    	_root.carte.legende["bt" + i].onRelease = function(){
    		this.target.play();
    		this.enabled = false
    		ctpBT++
    	}
    }

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 27
    Points
    27
    Par défaut
    Merciii beaucoup a vous 2

    Les 2 solutions marche nikel

    Désolé pour la reinitialisation du tab a chak fois, erreur de ma part
    Sinon la propriété target sert a quoi exactement , j'ai pas tres bien pigé ca

    Je vais pouvoir avancer maintenant Thanks

  8. #8
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    c est une propriété...ou plutot variable de ton objet _root.carte.legende["bt" + i] créé à la volée au moment ou on écrit l affectation...
    avec Flash on peut faire n importe quoi alors..on le fait

    on aurait put l appeler cible ou n importe quoi d autre du moment qu on est sur de pas écraser une autre variable utilisée de même nom.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/05/2006, 19h57
  2. Réponses: 12
    Dernier message: 16/03/2004, 14h21
  3. Récupérer le chemin d'accés du PFile.
    Par Laurent Dardenne dans le forum Administration
    Réponses: 7
    Dernier message: 03/02/2004, 17h21
  4. Chemin d'accès d'un fichier
    Par guitaros dans le forum Langage
    Réponses: 6
    Dernier message: 16/01/2004, 09h27
  5. Chemin d'accès au clip et scenario en flash
    Par Gential dans le forum Flash
    Réponses: 4
    Dernier message: 28/02/2003, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo