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 :

trouver tous les clips existant


Sujet :

Flash

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut trouver tous les clips existant
    hello les flasheurs...

    j ai dans mon animation un fond (etc.) qui s ouvre au dessus de tout le reste deja present. Et j aimerais savoir comment il peut etre possible de rendre inactif tous les autres clips.
    J imagine que c est possible via une boucle qui recupere tous les clips. Mais j connais pas la syntaxe et j ai pas trouvé d informations sur le net.


    merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 165
    Points : 192
    Points
    192
    Par défaut
    pas besoin de désactiver tes boutons, surtout s'ils sont nombreux.

    va voir par là:

    http://www.developpez.net/forums/sho...d.php?t=424479

    bonne continuation

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    je relance mon sujet, car en fait j aimerais vraiment savoir, s il existe un moyen de retrouver tous les clips present (ou tous les textes...)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 165
    Points : 192
    Points
    192
    Par défaut
    les retrouver je ne sais pas, mais les cataloguer, certainement....s'ils ont été créés en actionscript.

    tu as fait une boucle pour les créer, il te suffit d'en faire une autre pour les effacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (x==1, x<=6, i++){
    removeMovieClip(_root["NomDuClip"+x]);
    }
    enfin si j'ai compris ce que tu cherches.....

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    merci pour ta reponse, mais c est pas tout a fait ce que je voulaisz savoir...

    je m explique un peu plus :
    J aimerais recuperer/lister tous les clips present dans mon animations, sans pour autant connaitre a l avance le nom de ceux-ci, sinon cela serait bcp trop facile, eheh



    Merci, j ai trouvé, c'était en fait tout simple.
    Voici comment faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (MovieClip in _root) {
       trace(MovieClip ); // la sortie affiche la liste de tous les clips présent
    }

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 165
    Points : 192
    Points
    192
    Par défaut
    j'avais.....et pour info (pour les lecteurs lol)
    pour lister tous les objets ça donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(obj in _root){
    trace(obj);
    }

  7. #7
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,

    à part que le résultat est pour le moins totalement fantaisiste !!

    ça marche chez vous ce truc là??
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    hello,

    Non, j suis super deçu...
    Comme tu dis le resultat est plutôt fantaisiste. Car chez moi, la liste qui en sort donne non seulement les clips mais aussi des variables...

    J pense pourtant qu il doit y avoir un moyen de lister les clips (ou autre) en ayant un resultat "stricte"...

  9. #9
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    Je ne sais pas s'il y a une "méthode de classe" qui permette cela, ça semble peu probable, par exemple en java ça n'existe pas, il faut passer par une "factory". Par exemple tu crées un tableau que tu appelles "registry" et tu écris une méthode qui gère l'enregistrement de toutes les instances de clip à leur création dynamique et tu n'oublies pas d'enregistrer également toutes les instances que tu crées à la main.
    Je te concède que c'est plutôt lourd et c'est pour ça que je n'avais pas répondu à ta question initialement parce que je pensais que quelqu'un trouverai une solution plus "subtile"...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    Ok, effectivement ta méthode est logique, mais plutôt lourde.
    C'est quand même bisarre, de ne pas pouvoir faire ça de facon simple.
    Ca serait pourtant bien pratique...

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 165
    Points : 192
    Points
    192
    Par défaut
    mmmmmm, en effet, pas très convainquant, j'ai testé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (var name in _root) { 
     if (typeof (_root[name]) == "movieclip") { 
     trace("I have a movie clip child named "+name); 
     } 
    }
    mais il ne me fournit que les clips insérés de manière manuelle dans flash et non par actionscript....je continue à chercher

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Salut,
    Pour ma part j'ai essayer ceci sous Flash8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (i in scrollB) {
    	    if (scrollB[i] instanceof MovieClip) {
        		trace(scrollB[i]._name);
    		}
    	}
    avec scrollB un clip posé à la conception et sur lequel je fais des createEmptyMovieClip et attachMovie

    En résultat j'ai bien tous mes clips !
    Si vous avez votre réponse n'oubliez pas !

  13. #13
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    sauf que tu dois faire une fonction récursive pour lister les clips dans les clips !

    j'en ai fait une en AS3 pour lister tous les composants posés sur la scene, ca te fera une base pour comprendre le fonctionnement, tu auras a rajouter une condition pour ne lister que les MovieClip.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    		private function arborscence(source:*):String{
    			var stTmp:String = '';
    			var uiId:uint;
     
    			// c'est un DisplayObject ... de quel type ?
    			var stClassTmp:String = getQualifiedClassName(source);
     
    			// Création du tableau de tous ces enfants (s'ils existent)
    			var tbContenu:Array = new Array();
     
    			for(uiId = 0; ;uiId++){
    				try{
    					var mxIdTmp:* = source.getChildAt(uiId);
    				}catch(e:Error){
    					break;
    				}
    				tbContenu.push(mxIdTmp);
    			}
     
    			// Essayer de recuperer l'ID / name
    			var stId:String = '';
    			var stNom:String = '';
    			try{ stId = source.id;}catch(e:Error){}
    			try{ stNom = source.name;}catch(e:Error){}			
     
    			// Création arbo
    			stTmp += "-- "+stClassTmp+" : (id:"+stId+"/name:"+stNom+") {"+uiId+"} --\n";
    			for(uiId = 0; uiId < tbContenu.length; uiId++){
    				stTmp += "["+uiId+"]"+" -> "+arborscence(tbContenu[uiId]);
    			}
     
    			return (stTmp);
    		}
    pour l'uitliser tu fais un : trace(arborscence(this));
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par Lorenzo77 Voir le message
    sauf que tu dois faire une fonction récursive pour lister les clips dans les clips !
    Bien sûr que ça doit être récursif. Mais mon code posait juste la base en AS2 !
    Si vous avez votre réponse n'oubliez pas !

Discussions similaires

  1. [Sybase 12.5]Trouver tous les liens d'une clé
    Par Neo41 dans le forum Sybase
    Réponses: 1
    Dernier message: 12/04/2006, 12h37
  2. [RegEx] Trouver tous les "/mot" dans une chaîne
    Par micatmidog dans le forum Langage
    Réponses: 7
    Dernier message: 31/03/2006, 13h07
  3. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/01/2006, 00h36
  4. Trouver tous les objets d'un certain type dans un document?
    Par kobe dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 03/11/2005, 18h07

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