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 :

cibler des clips imbriqués et placés avec une boucle for


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut cibler des clips imbriqués et placés avec une boucle for
    Bonjour,
    Je suis débutant sur flash. En général, mes codes sont plutôt de l'ordre de la bidouille, le but étant que ca marche, si par malheur ca marche pas jpasse faire un tour ici et je trouve toujours un sujet en rapport avec ce que je cherche.
    Mais alors aujourd'hui ca fait plusieures heures que je tourne et je commence à m'arracher les cheveux! C'est étonnant car je suis certain que c'est une question que d'autre ont dut se poser avant moi, bref , c'est l'occasion de sauter le pas et de participer au forum...

    Je vais essayé d'être le plus claire possible (mon vacabulaire flash n'est pas toujours exacts).
    Je me suis fait un clip exporté "conteneur" à l'intérieur duquel j'ai imbriqué deux clips nommé "clip1" et "contenu1". A l'intérieur de "contenu1" se trouve "contenu2" où se trouve "bouton".


    j'utilise ensuite une boucle pour pour placés trois clips qui sont des occurences de conteneur et dont les noms d'occurences sont générés à partir d'un tableau, voici mon code :

    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
     
    var tableaum:Array = new Array("villette", "sysD", "animdistillerie");
     
    numerodutableaum = 0;
    var imagesmulti = tableaum[numerodutableaum];
     
    abcisse=10
     
    for (i=0; i<3; i++) {
        numerodutableaum = i;
        imagesmulti = tableaum[numerodutableaum];
     
        this["conteneur"+imagesmulti] = this.attachMovie('conteneur', 'conteneur'+imagesmulti, this.getNextHighestDepth());
        this["conteneur"+imagesmulti]._x=abcisse
        abcisse=abcisse+200;
     
        conteneurimage = this["conteneur"+imagesmulti].createEmptyMovieClip("conteneurimage", 0);
        this["conteneur"+imagesmulti].conteneurimage.loadMovie("imagesmultimedia/"+imagesmulti+".jpg",0);
     
        this["conteneur"+imagesmulti].contenu1.contenu2.onRelease=function(){
            trace("on a cliqué");
        }
    }

    Jusqu'ici pas de problème, la fonction trace marche parfaitement. Simplement, j'aimerai agir sur "clip1" (sur sa largeur par exemple) lorsque je clique sur "bouton". C'est bête mais je ne connais pas la syntaxe pour remonter à une cible lorsque l'on utilise la structure this[occurence].
    En Outre, je ne veux pas utiliser _root parceque cette animation sera ensuite loader dans une autre.

    Oriez vous une petite idée? please...

  2. #2
    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 : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

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

    Citation Envoyé par pierroM Voir le message
    je ne connais pas la syntaxe pour remonter à une cible lorsque l'on utilise la structure this[occurence]
    avec la propriété _parent.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse, un peu de soutient ne fait pas de mal...
    Jpensais bien que c'était quelque chose comme ca, mais j'ai essayé toute la journée et je n'arrive pas à ce que je veux... serait ce dut à la création de clip par la boucle for?

    voici mon nouveau code :

    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
     
    var tableaum:Array = new Array("villette", "sysD", "animdistillerie");
     
    numerodutableaum = 0;
    var imagesmulti = tableaum[numerodutableaum];
     
    abcisse=10
     
     
    for (i=0; i<3; i++) {
    	numerodutableaum = i;
    	imagesmulti = tableaum[numerodutableaum];
     
    	this["conteneur"+imagesmulti] = this.attachMovie('conteneur', 'conteneur'+imagesmulti, this.getNextHighestDepth());
    	this["conteneur"+imagesmulti]._x=abcisse
    	abcisse=abcisse+200;
     
    	this["conteneur"+imagesmulti].contenu1.contenu2.bouton.onRelease=function(){
    		trace("on a cliqué");
    		_parent._parent._parent.clip1._xscale=400;
    	}
    }
    Je ne vois pas du tout d'où vient l'erreur...

  4. #4
    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 : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    utilises la fonction trace pour tester tes variables pour voir d'où vient le problème :
    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
    var abcisse:Number = 10;
    
    
    for (var i=0; i<3; i++) {
        numerodutableaum = i;
        imagesmulti = tableaum[numerodutableaum];
        
        this["conteneur"+imagesmulti] = this.attachMovie('conteneur', 'conteneur'+imagesmulti, this.getNextHighestDepth());
        this["conteneur"+imagesmulti]._x=abcisse;
        abcisse+=200;
            
        this["conteneur"+imagesmulti].contenu1.contenu2.bouton.onRelease=function(){
            trace("on a cliqué");
            trace(_parent._parent._parent.clip1);
            _parent._parent._parent.clip1._xscale=400;
        };
    }

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    ok, merci,

    je teste trace(this) ca me renvoie : _level0.conteneuranimdistillerie.contenu1.contenu2.bouton
    jusqu'ici ca me parait normal.
    Ensuite je trace (_parent._parent._parent.clip1),(_parent), (_parent._parent) ou encore (_parent._parent.parent) et ca me renvoie undefined...
    Pourquoi? je vois pas trop...

    siouplai éclairez moi!

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    serait ce parce que i change en permanance qu'il est impossible de définir un parent? Franchement je n'y comprend plus rien et suis en train de me cogner la tête contre l'écran, un prb aussi bète doit bien avoir une solution?

  7. #7
    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 : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    en utilisant this ça devrait marcher, le code simplifié :
    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
    var tableaum:Array = new Array("villette", "sysD", "animdistillerie");
    var abcisse:Number = 10;
    var curClip:MovieClip = null;
     
    for (var sName in tableaum)
    {  
        curClip = this.attachMovie('conteneur', sName, this.getNextHighestDepth());
        curClip._x=abcisse;
        abcisse+=200;
     
        trace( curClip.contenu1.contenu2.bouton );
        curClip.contenu1.contenu2.bouton.onRelease = function()
        {
            trace("on a cliqué sur: " + this);
            trace(this._parent._parent._parent.clip1);
            this._parent._parent._parent.clip1._xscale=400;
        };
    }

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    nickel,

    c'est bien ca, il faut spécifier this avant de remonter avec la propriété _parent.
    C'est simple mais je n'y avait pas pensé...

    Merci infiniment, il me reste ainsi encore deux ou trois cheveux qui auront survécus à cette prise de tête, ils t'en sont également très reconnaissant.

    A plus!

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

Discussions similaires

  1. legend avec une boucle for et des cell
    Par casabpm dans le forum MATLAB
    Réponses: 3
    Dernier message: 25/02/2012, 14h02
  2. trié des date avec une boucle for each
    Par alex santus dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/09/2009, 11h00
  3. ActionScript 2 Manipuler plusieurs clips créés avec une boucle for
    Par adinx dans le forum ActionScript 1 & ActionScript 2
    Réponses: 7
    Dernier message: 09/04/2008, 15h01
  4. Incrémentation dynamique d'un textbox avec une boucle for
    Par Etanne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2006, 15h17
  5. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23

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