1 pièce(s) jointe(s)
Duplication Dynamique De Vignette avec XML
Bonjour la compagnie ;)
Une fois de plus je me dois de faire appel à votre savoir :oops:
Novice en actionScript et XML je me suis lancé sur une application simple afin de m'exercer sur ces deux technologies.
Voila, j'ai une photo de classe, et je souhaiterais afficher les informations d'un eleve lors du passage de la souris sur son visage.
Des informations tel que son prénom, son age, sa personalité, ses aptitudes scolaires..
Pour ce faire, j'ai d'un coté un fichier XML et d'un autre mon FLA;qui lui possède un clip conteneur nommé "fiche_id".
Dans "fiche_id" j'ai un clip nommé vignette1; qui lui contient 2 champs de textes dynamiques "vnom" et "vdescription"
(Ci-joint le .FLA )
Ne vous moquez pas :oops:
Mon Problème est que je souhaiterais tout simplement dupliquer ma vignette1 suivant le nombre d'aptitude recensé de l'élève en cours
et attribuer aux champs de texte dynamique des nouveaux clips vignette crée
les valeurs des noeuds appropriés.
Merci de m'avoir lu ;)
Le code XML ce présente comme ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?xml version="1.0" encoding="UTF-8" ?>
<description>
<eleve nom="ALEXANDRE" age="10" personalite="Une imagination débordante !">
<aptitude nom="FRANCAIS "> Ces aptitudes en Francais</aptitude >
<aptitude nom="MATH "> Ces aptitudes en Math</aptitude >
<aptitude nom="HISTOIRE "> Ces aptitudes en Histoire </aptitude>
</eleve>
<eleve nom="VICTOR" age="11" personalite="Une imagination débordante !">
<aptitude nom="FRANCAIS "> Ces aptitudes en Francais</aptitude >
<aptitude nom="MATH "> Ces aptitudes en Math</aptitude >
<aptitude nom="HISTOIRE "> Ces aptitudes en Histoire </aptitude>
</eleve>
</description> |
Traitement de mes données XML dans AS:
Code:
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
xml_data = new XML();
xml_data.ignoreWhite = true;
xml_data.load("xml/photo.xml");
xml_data.onLoad = function()
{
//Fiches d'indentité de l'éleve
var nombreEleve:Array = new Array(); //--* Contient le nombre total d'élèves recencés dans mon XML
var nomEleve:Array = new Array(); //--* Contient le nom de tous les l'élèves recensés dans mon XML
var ageEleve:Array = new Array(); //--* Contient l'age de tous les l'élèves recensés dans mon XML
var personaliteEleve:Array = new Array(); //--* Contient la personalité de tous les l'élèves recensés dans mon XML
var nbAptitude:Array = new Array(); //--* Contient le nombre total des aptitudes de chaque élèves
nombreEleve = xml_data.firstChild.childNodes.length;
for(i=0;i<nombreEleve;i++) //--* Boucle selon le nombre d'élèves recensé dans mon XML
{
nomEleve = xml_data.firstChild.childNodes[i].attributes.nom;
ageEleve = xml_data.firstChild.childNodes[i].attributes.age;
personaliteEleve = xml_data.firstChild.childNodes[i].attributes.personalite;
nbAptitude = xml_data.firstChild.childNodes[i].childNodes.length;
var ArrayContenair:Array = new Array();
for (n=0;n<nbAptitude;n++) //--* Boucle selon le nombre d'aptitude recencé par élèves dans mon XML
{
//----1er Essai ---------------------------------------------------------------------
//fiche_id.duplicateMovieClip(vignette1, "vignette1_"+n, n+1,{_x:+20,_y:20})
//--*!* trace(fiche_id["vignette1_"+n]);
//----2eme Essai ---------------------------------------------------------------------
//ArrayContenair = fiche_id.duplicateMovieClip(vignette1, "vignette1_"+n, n+1);
//trace(ArrayContenair);
//--! Problème ! -- Actionscript me renvoi "_level0.undefined" pourtant en attribuant une valeur à mon Array il trouve les clips dupliqués
//ArrayContenair._x+=300;
//----3eme Essai ---------------------------------------------------------------------
//_root.fiche_id.attachMovie("vignette1","vignette1_"+n,this.getNextHighestDepth);
//trace(_root.fiche_id["vignette1_"+n]._height);
//--! Problème ! -- Actionscript me renvoi "la hauteur de mes clips attachés, mais impossible d'agir sur les clips afin de modifier leur positions
//_root.fiche_id["vignette1_"+n]._y = _root.fiche_id.vignette1_0._y +(n*10);
//---------------- ---------------------------------------------------------------------
}
nomEleve = xml_data.firstChild.childNodes[0].attributes.nom;
ageEleve = xml_data.firstChild.childNodes[0].attributes.age;
personaliteEleve = xml_data.firstChild.childNodes[0].attributes.personalite;
trace(nbAptitude)
}
//Attribution des données récoltées dans les champs de textes dynamiques
vignette1_0.vnom = nomEleve;
vignette1_0.vdescription = "Age : "+ ageEleve + newline +"Personalité : " + personaliteEleve;
}
//test des tableaux
/*
_global.test_Tab = function(myArr:Array){
for (a=0; a<myArr.length; a++) {
trace("["+a+"] " + myArr[a])
if(myArr[a][0]!=undefined){
for (b=0; b<myArr[a].length; b++) {
trace("["+a+"] ["+b+"] " + myArr[a][b])
if(myArr[a][b][0]!=undefined){
for (c=0; c<myArr[a][b].length; c++) {
trace("["+a+"] ["+b+"] ["+c+"] " + myArr[a][b][c])
if(myArr[a][b][c][0]!=undefined){
for (d=0; d<myArr[a][b][c].length; d++) {
trace("["+a+"] ["+b+"] ["+c+"] ["+d+"] " + myArr[a][b][c][d])
}
}
}
}
}
}
}
}
*/ |