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

ActionScript 1 & ActionScript 2 Discussion :

Récupérer un chemin-cible contenu dans une variable


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut Récupérer un chemin-cible contenu dans une variable
    Bonsoir.

    J'ai dans une variable le chemin d'un champ texte à traiter.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaVariable = targetPath(MonChampTexte_txt)
    Et je voudrais m'en servir pour modifier les paramètres de ce champ texte, comme ça, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaVariable.text = "Nouveau texte"
    Seulement, cela ne marche pas car le chemin récupéré dans la variable est traité comme du texte et ne peut servir de chemin cible.

    Auriez-vous une solution ? Merci d'avance.

    PS : Je précise que j'ai légèrement simplifié la présentation du problème. Sinon dans ce cas, il n'y aurait pas besoin de passer par une variable. Mais la question se résume à ça : comment stocker un chemin-cible dans une variable pour que celui-ci reste utilisable ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var variable:Object = _root.champ_text;
     
    variable.text= "nouveau texte";

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    Merci de la réponse.

    J'ai essayé votre proposition et effectivement ça marche.

    A condition de renseigner exactement le chemin-cible. Je me retrouve donc dans la même situation que dans un autre post, c'est à dire savoir obligatoirement le chemin pour accéder au champ.

    Afin d'éviter cela, j'utilisais justement le "targetPath()", mais il ne fonctionne pas dans ce cas-là. Si, au lieu de renseigner la variable objet avec le chemin exact, j'essaye de le déduire avec la fonction...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var Variable:Object = targetPath(MonTexte)
    ...cela renseigne effectivement le chemin mais le traite comme du texte. Par conséquent je ne peux plus l'utiliser pour changer le texte ou autre avec un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Variable.text = "Nouveau Texte"
    Sauriez-vous comment contourner cela ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    explique plus ton problème, car la je vois pas.

    Il est possible de creer manuellement les chemins en concatenant les chaines de caracteres, et de plus on connait toujours, à priori le chemin de l'occurence créée:

    est un exemple de création manuelle de champ.

    Donne plus de code ou détaille ton problème

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 41
    Par défaut
    Je vais tenter de préciser.

    Tel que je prévois de réaliser mon site il peut y avoir de grand nombre de clips imbriqués les uns dans les autres. Cela peut, au final, donner des chemins assez longs.

    Un exemple :
    Scène
    --->Clip1
    ------>Clip2
    --------->Clip3
    ------------>Clip4
    --------------->Clip5
    ------------------>Texte_txt

    Dans l'exemple, les noms de clips sont courts, donc ça peut encore aller, mais cela n'est pas forcément le cas dans la réalité.

    En code, dans la scène principale, j'ai la déclaration d'un tableau qui récupère tous les éléments texte de la scène :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var TableauPrinc_array:Array = new Array ();
    Dans le clip 5, j'ai un tableau avec les caractéristiques du champ texte que je veux stocker :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var Texte_array:Array = new Array ();
    //C'est maintenant que j'aimerais définir automatiquement le chemin
    //pour utilisation future
    var Cible:Object = _root.Clip1.Clip2.Clip3.Clip4.Clip5.Texte_txt;
    Texte_array["Chemin"] = Cible;
    Texte_array["Type"] = "Menu";
    Texte_array["Nom"] = "Texte d'Essai";
    _root.TableauPrinc_array.push(Texte_array);
    Plusieurs champs de texte sont stockés dans "TableauPrinc_array" de la même manière.
    Dans la scène principale, j'ai un bouton avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    on (release) {
    	for (var i=0; i<_root.TableauPrinc_array.length; i++) {
    		_root.TableauPrinc_array[i]["Chemin"].text = "Ceci est le texte n°"+i;
    	}
    }
    Je précise aussi que dans l'exemple ci-dessus, je ne modifie que le texte mais que je modifierais aussi d'autres caractéristiques de la même manière.

    Je voudrais donc définir de manière dynamique le chemin dans "Texte_array["Chemin"]" afin de pouvoir agir sur les différentes cibles lors du clic.

    Voilà. J'espère que je suis plus clair à présent.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Re,

    J'ai à priori compris ce que tu voulais et j'ai testé sur mon Flash, je te le joins.

    Il est composé de la scène principale, d'un sous clip1 et encore d'un sous clip 2 au sous clip 1

    scene principale
    -->clip1
    ------>clip2

    La scène principale contient un tableau, qui sera à double dimensions.
    Chacun des clips crée dynamiquement un champ texte et ajoute son chemin dans le tableau général.

    Ce processus est bien sûr extensible à une moultitude de sous clip

    De plus, je sais pas si c'est une faute de frappe ou si tu utilises autre chose que l'as2 mais les propriétés c'est _length, _x, _y etc...
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Splitter un chemin contenue dans une variable
    Par sojobo38420 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/06/2014, 12h02
  2. [PHP 4] Affichage d'une image avec chemin contenu dans une variable
    Par terrysharp dans le forum Langage
    Réponses: 1
    Dernier message: 16/07/2009, 14h54
  3. Réponses: 0
    Dernier message: 03/11/2008, 12h40
  4. Condition contenu dans une variable string
    Par tomo0013 dans le forum Access
    Réponses: 6
    Dernier message: 01/12/2005, 14h15
  5. Réponses: 7
    Dernier message: 25/10/2005, 15h19

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