[AC3] variable et evenement

Résolu
Signaler
Messages postés
8
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
18 février 2009
-
Messages postés
8
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
18 février 2009
-
J'ai petit soucis pour récupérer une variable d'une instance d'un clip après un événement.

J'ai un clip "Dossier" dans la bibliothèque avec comme code AS3: 
var IDdossier:Number = 5;

Quant je crée des instances du clip "Dossier" je modifie la variable "IDdossier".
Avec le trace à la fin de la boucle je vois que les variables "IDdossier" sont bien affectée
Par contre lors de l'enlèvement je récupère le "5" de l'initialisation, et non les valeurs que j'ai affectée

Voici le code:
for (var i:Number = 0; i < 2; i++){
    var dossier:Dossier = new Dossier();
    dossier.IDdossier= ID[i];
    dossier.Name.text = Name[i];
    dossier.addEventListener(MouseEvent.CLICK, Dossier_Click );
    stage.addChild (dossier);
    trace(dossier.IDdossier);
}
function Dossier_Click(event:MouseEvent):void
{
    trace(event.currentTarget.Name.text);
    trace(event.currentTarget.IDdossier);
}

je comprend pas pourquoi sa ne marche pas!

3 réponses

Messages postés
8
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
18 février 2009

J'ai fini par trouver une solution!

Pour ce faire, j'ai crée une classe "Dossier" qui hérite de Movieclip avec une propriété ID!

Le code du fichier Dossier.as
package {  
    import flash.display.MovieClip;
    public class Dossier extends MovieClip{
        public var ID:Number = 0;
    }
}

Et le code du fla:
for (var i:Number = 0; i < 2; i++){
    var dx:Dossier = new Dossier();
    dx.ID = DossierID[i];
    dx.Name.text = DossierName[i];
    dx.addEventListener(MouseEvent.CLICK, Dossier_Click );
    stage.addChild (dx);
}

function Dossier_Click(event:MouseEvent):void
{
    trace(event.currentTarget.ID);
}

Voila! Si sa peut servir à quelqu'un!
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

A quoi fait reference DossierID[i] et DossierName[i] ?

j'ai testé cela et sa marche :

var baseY = 20;

for (var i:Number = 0; i < 2; i++){
    var dossier:Dossier = new Dossier();
    dossier.IDdossier = i;
    dossier.Name.text = i.toString();
    dossier.addEventListener(MouseEvent.CLICK, Dossier_Click );
    dossier.y = baseY;
    baseY += dossier.height + 10;
    stage.addChild (dossier);
}

function Dossier_Click(event:MouseEvent):void
{
    trace(event.currentTarget.Name.text);
    trace(event.currentTarget.IDdossier);
}
Messages postés
8
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
18 février 2009

DossierID[] et DossierName[]
Sont deux tableaux contentant les noms et les identifiant unique pour les éléments du menu
ces nom et ID je récupère via une base de donnée.