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

  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

  7. #7
    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. J'ai téléchargé les fichiers. Je jette un oeil à tout ça dans la soirée.

    Pour ce qui est de la propriété ".length" du tableau, je code en as2 (je suis encore sous Flash 8 Pro), mais j'avais trouvé cette propriété je ne sais plus où et elle marche. Utilisant régulièrement les _visible, _x, _y et autres cela me paraissait bizarre qu'il n'y ait pas le "_".

    Mais bon, en codage, plus rien ne m'étonne maintenant !! J'ai définitivement renoncé à chercher toute trace de logique !!

    Encore merci pour le temps passé. Je vous tiens au courant.

  8. #8
    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
    c'est moi qui me trompe en plus... c'est bien length, c'est une méthode, contrairement à _x et _y qui sont des propriétés, au temps pour moi.

  9. #9
    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
    en flash 8
    Fichiers attachés Fichiers attachés

  10. #10
    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
    Bonjour.

    Je tiens tout d'abord à vous remercier d'avoir pris le temps et la peine de créer les fichiers joints ci-dessus. C'est très aimable à vous.

    Comme je le disais plus haut, c'est le chemin que je voudrais créer dynamiquement, celui-ci pouvant changer selon les besoins. Pour illustrer mon propos, j'ai à mon tour créé un fichier test.

    Je vous le mets en téléchargement. Il est composé d'une scène principale (nommée "scene"... ) et d'un fichier clip importé (nommé "clip" quelle originalité !!).

    Si vous avez le temps d'y jeter un oeil, vous comprendrez mon problème. Il est exposé ici avec une animation importée, mais le même problème se pose avec la méthode attachMovie ou duplicateMovieClip.

    PS : Si vous en aviez marre de m'aider (sur plusieurs thread, en plus...), je comprendrais tout à fait...
    Fichiers attachés Fichiers attachés

  11. #11
    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
    J'ai oublié de préciser que dans l'exemple, les clips chargeant l'animation s'appellent "Clip1" et "Clip2", mais qu'ils doivent pouvoir aussi s'appeler de manière différente l'un de l'autre.

    Donc, pas possible d'utiliser une boucle avec incrémentation.

    Juste histoire de corser l'affaire...

  12. #12
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Bonjour,

    pourquoi utiliser des chemins alors qu'il suffit d'avoir un tableau avec les références aux champs de texte ?

    je met l'exemple modifié en PJ.
    Fichiers attachés Fichiers attachés

  13. #13
    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
    Bonjour Beekeep et merci de votre participation.

    J'ai téléchargé vos fichiers mais ne peux pas les ouvrir. Je travaille sous Flash 8 pro. Pourriez-vous poster un fichier compatible ?

    Merci d'avance.

  14. #14
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    aïe non je peux uniquement en CS3 ou CS4 ..

    donc il y a une animation principale avec :
    un tableau contenant les références aux champs de texte juste initialisé
    une fonction qui modifie le texte de tous les champs du tableau

    cette animation en charge une autre (2 fois) contenant un champ texte.

    Cette autre animation va simplement ajouter son champ de texte au tableau.

    Code animation principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var TableauPrincipal:Array = new Array();
    loadMovie ("Clip.swf", Clip1);
    loadMovie ("Clip.swf", Clip2);
     
    bouton.onRelease = function()
    {
        var count:Number = TableauPrincipal.length;
        var field:TextField;
        for (i=0; i<count; i++)
        {
            field = TableauPrincipal[i];
            field.text = "Ceci est le texte modifié. (" + targetPath(TableauPrincipal[i]) + ")";
            field.textColor = 0xff0000;
        }
    };
    Code de l'animation "Clip" contenant un champ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _parent.TableauPrincipal.push(Test_txt);
    j'espère avoir été à peu près clair

  15. #15
    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
    Bonjour.

    Désolé du retard dans ma réponse mais j'ai été quelque peu occupé... ;-)

    Merci beekeep du renseignement. Vous avez été parfaitement clair. Et c'est exactement ce que je cherchais. Donc merci beaucoup !!

    Cela marche exactement comme je le voulais. J'ai juste déclaré le tableau principal à un autre endroit, car lorsqu'il y a plusieurs écrans et qu'on revient au principal cela écrase tout le contenu du tableau.

    Merci donc à vous deux pour votre aide.

    A une prochaine fois !!

+ 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