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 :

movie clip a la volée ou il faut appliquer des liens


Sujet :

Flash

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut movie clip a la volée ou il faut appliquer des liens
    Bonjour,
    je vais tenter de reformuler mon probleme:
    Je vais chercher dans un fichier xml, un certain nombre d'enseigne dont j'affiche la photo dans des movieclips crées a la volée:

    d'abord sur ma scene je crée un Emptymc qui me sert de conteneur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.createEmptyMovieClip("conteneur2", 6);
    , et dans ma bibliotheque j'ai trois movieclip que je vais attacher selon ce que je trouve ds le XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var options:Object = {_x:500, _y:40, _alpha:0};
    	var i:Number;
    	for (i=0; i<FicXmlEns.firstChild.childNodes.length; i++) {
    		if (FicXmlEns.firstChild.childNodes[i].attributes.forme == "rectangle") {
    			conteneur2.attachMovie("Rectangle", ["Ens"+i], 6+i, options);
    		}
    		if (FicXmlEns.firstChild.childNodes[i].attributes.forme == "ovale") {
    			conteneur2.attachMovie("Ovale", ["Ens"+i], 6+i, options);
    		}
    		if (FicXmlEns.firstChild.childNodes[i].attributes.forme == "carre") {
    			conteneur2.attachMovie("Carre", ["Ens"+i], 6+i, options);
    		}
    	}
    j'ai donc Conteneur.Ens0, conteneur.Ens1 ... qui sont mes movieclips attachés a mon conteneur2.

    C bon mais ce que j'aimerais c'est attacher des liens o clics sur mes movieclips Ens0, Ens1, o onClik un getURL qui se trouve dans mon xml, un truc qui pourrait s'apparenter ace genre de code mais qui fonctionnerait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(j=0;j<=FicXmlEns.firstChild.childNodes.lenght;j++){
    	conteneur2["Ens"+j].onRelease = function(){
    				Url = FicXmlEns.firstChild.childNodes[j].attributes.lien.toString();
    				GetURL(Url);
    			}
    		}
    a chaque fois c undefined alors que si je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Url = FicXmlEns.firstChild.childNodes[2].attributes.lien.toString();
    la ca passe mais c'est toujours le meme, normal, donc pas trop dynamique...


    D'avance merci beaucoup de votre aide!!

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(j=0;j<=FicXmlEns.firstChild.childNodes.lenght;j++){
            conteneur2["Ens"+j].myIndex = j;
    	conteneur2["Ens"+j].onRelease = function(){
    				Url = FicXmlEns.firstChild.childNodes[this.myIndex].attributes.lien.toString();
    				GetURL(Url);
    			}
    		}
    Ps: Fais un trace de ton j dans ton code pour entrevoir la cause du soucis
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    yes!!!
    franchement bravo ca fait mon deuxieme jour que je suis dessus et tu viens de m'enlever une epine du pied de la taille d'un menhir!!!!

    Tres bonne journée a toi
    et encore merci

    Par contre encore une question:

    Pourquoi dois je mettre ce code dans un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    onEnterFrame = function () {
    	for (p=0; p<FicXmlEns.firstChild.childNodes.length; p++) {
    pour que cela fonctionne?
    car j'ai l'impression que le OnenterFrame prend pas mal de ressource....

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    personne ne saurait pourqoui je dios absolument mettre un OnEnterFrame pour faire dynamiquement devenir mes movieclips cliquables.??

    car si je fais ca :
    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
    function ChargerEnseigne() {
    	var p:Number;
    	for (p=0; p<FicXmlEns.firstChild.childNodes.length; p++) {
    		conteneur2["Ens"+p].loadMovie(FicXmlEns.firstChild.childNodes[p].attributes.photo);
    		conteneur2["Ens"+p]._y = 20;
    	}
    	var j:Number;
    	var Url:String;
    	for (j=0; j<FicXmlEns.firstChild.childNodes.length; j++) {
    		conteneur2["Ens"+j].myIndex = j;
    		trace(conteneur2["Ens"+j].myIndex);
    		conteneur2["Ens"+j].onRelease = function() {
    			Url = FicXmlEns.firstChild.childNodes[this.myIndex].attributes.lien.toString();
    			getURL(_root.txtNiveauDossier+Url+_root.Langue);
    		};
    	}
    }
    pas de resultats, RIEN, alors que cela :

    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
    function ChargerEnseigne() {
    	var p:Number;
    	for (p=0; p<FicXmlEns.firstChild.childNodes.length; p++) {
    		conteneur2["Ens"+p].loadMovie(FicXmlEns.firstChild.childNodes[p].attributes.photo);
    		conteneur2["Ens"+p]._y = 20;
    	}
    }
    onEnterFrame = function () {
    	var j:Number;
    	var Url:String;
    	for (j=0; j<FicXmlEns.firstChild.childNodes.length; j++) {
    		conteneur2["Ens"+j].myIndex = j;
    		trace(conteneur2["Ens"+j].myIndex);
    		conteneur2["Ens"+j].onRelease = function() {
    			Url = FicXmlEns.firstChild.childNodes[this.myIndex].attributes.lien.toString();
    			trace(_root.txtNiveauDossier+Url+_root.Langue);
    		};
    	}
    }
    fonctionne!

    Mois is vous me dites que le onEnterFrame est tres bien je le laisse mais j'ai l'impression qu'il bouffe pas mal de ressource...
    Wala
    D'avance merci de vos réponses, conseils...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    onEnterFrame te permet de recharger tout le temps le bout de code qui se trouve dedans.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    bon bah résolu avec de la bidouille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (j == FicXmlEns.firstChild.childNodes.length) {
    			delete this.onEnterFrame;
    		}

Discussions similaires

  1. Réponses: 22
    Dernier message: 12/12/2006, 13h03
  2. [FLASH MX] Scrollbar associée à un movie-clip
    Par dens63 dans le forum Flash
    Réponses: 19
    Dernier message: 05/06/2006, 11h41
  3. [FLASH MX2004] image jpg dans un movie clip
    Par mooky dans le forum Flash
    Réponses: 13
    Dernier message: 07/03/2006, 20h44
  4. [ActionScript] héritage d'un movie clip
    Par wwave dans le forum Flash
    Réponses: 1
    Dernier message: 18/01/2006, 09h44
  5. Réponses: 8
    Dernier message: 06/11/2005, 20h39

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