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 :

[AS2] noms dynamiques


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bractar
    Inscrit en
    Janvier 2004
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 224
    Par défaut [AS2] noms dynamiques
    Bonjour,
    je cree ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for (var i:Number = 0; i < sectionsArray.length; i++)
    {	
    	var menuItem:MovieClip = this.main_mc.menuContainer.createEmptyMovieClip("menuItem"+i, this.getNextHighestDepth()+i);
     
    	menuItem.onRollOver = function() {
    	//ICI
    	};
    }
    Je voudrais recuperer _x du movie clip menuItem (la ou est ecrit ICI dans le code). Je n'y arrive pas. Comment faire?
    J'ai essaye : this._x, _root["menuItem"+i], this["menuItem"+i]... mais sans succes.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Par défaut
    Bonjour,

    menuItem.onRollOver = function() {
    this._x = 35; // this correspond à ton movieclip
    };
    Normalement, this cible ton movieclip.
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Par défaut
    j'aurai fait comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for (var i:Number = 0; i < sectionsArray.length; i++)
    {	
    	var menuItem:MovieClip = this.main_mc.menuContainer.createEmptyMovieClip("menuItem"+i, this.getNextHighestDepth()+i);
     
    	this.main_mc.menuContainer["menuItem"+i].onRollOver = function() {
    	trace(this._x); //normalement te retournera 0
    	};
    }

  4. #4
    Membre confirmé Avatar de bractar
    Inscrit en
    Janvier 2004
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 224
    Par défaut
    merci beaucoup!!!

  5. #5
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Par défaut
    Bonjour,
    je me permet d'écrire sur ce sujet car c'est le même problème...mais c'est pas le même...

    Explication: imaginons que je veuille reproduire un clavier en flash (sans les les caractères spéciaux, ni les touches telles que Ctrl ou Alt...), soit 26 boutons à créer... ce qui implique l'utilisation d'une boucle "for" pour les paresseux (c'est les plus malins :p).
    Les lettres sont stockées dans un tableau de o à 25, mais là n'est pas le problème (on se contentera d'utiliser un "trace()").

    Donc voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i = 0; i <26; i++) {<div style="margin-left:40px">_root["bouton" + i].onPress = function() {<div style="margin-left:40px">trace(i); }</div>}</div>
    Un code simple, rapide, efficace et qui marche...mais pas comme je veux...
    Je voudrais que l'indice i affiche l'indice correpondant au numéro du bouton (genre i = 1 pour le bouton 1), mais au lieu de ça, l'indice affiché est le dernier +1, soit 26...

    Pourquoi le dernier indice est affiché et comment résoudre le problème ?
    Merci d'aider un apprenti flasheur désirant apprendre et comprendre.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Par défaut
    Tu trace ton i, hors celui ci est à 26 étant donné que ta boucle est finie,

    Si tu veux tracer l indice j'aurai fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for(i = 0; i <26; i++) {
        _root["bouton" + i].indice = i; (évite d'utiliser les _root un maximum)
        _root["bouton" + i].onPress = function() {
            trace(this.indice);
        } 
    }

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

Discussions similaires

  1. [Language]Nom dynamique de Variable
    Par brooks dans le forum Langage
    Réponses: 13
    Dernier message: 14/12/2005, 18h09
  2. checked d'un checkbox avec nom dynamique
    Par Sylvain245 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/11/2005, 11h28
  3. Réponses: 4
    Dernier message: 09/03/2005, 11h13
  4. variable à nom dynamique en javascript
    Par noa dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/01/2005, 01h12
  5. [syntaxe]Creation table avec nom dynamique
    Par ZuZu dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/09/2004, 18h01

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