Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: Intégration XMLen flash.
Envoyé: 18 mars 2006, 4h50 par Benn
>
Ensuite, pour le 'this', il fait bien référence à l'objet où l'on se trouve, mais il y a des 'nuances'. Par exemple, le onLoad de l'objet LoadVars (pour prendre un objet que je connais mieux que le XML, mais normalement les 2 fonctionnent pareillement), lorsque tu utilises this dans ce onLoad, le this est interprété dans la 'portée' de l'objet loadVars, car la fonction onLoad elle-même est appellée dans cette portée.
Donc certaines fonction de flash font réellement entrer dans l'objet sur lequel elles se référencent lorsqu'on les appelle, faisant référencer le this sur l'objet sus-cité, compris. :)
_________________________________________________________
Ensuite, je vais reprendre tout le problème de manière structurée, pasque j'ai fais des petits tests mais j'aimerais que les choses soit claires histoire de pas coder ça n'importe comment.
Structure du fla: 1 scène contenant une animation
Sur cette scène, associé à l'animation qui y est intégrée l'action script est le suivant:
onClipEvent (load) {
this.direction = 0;
}
onClipEvent (enterFrame) {
if (this.direction<>0) this.monTexte.scroll += this.direction;
}
L'animation se compose comme suit: un layer « Action » avec l'action script suivant:
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("essai.xml");
myXML.onLoad = function(flag)
{
if (flag)
{
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined)
{
montexte += "titre: "+x.childNodes[i].childNodes[0].attributes.value +"<br>" ;
monTexte += "texte: "+x.childNodes[i].childNodes[1].firstChild +"<br><br>" ;
i++
}
}
}
stop();
un layer « Texte », défini en tant que dynamicText utilisant la variable monTexte, avec la fonction « rendre as HTML » cochée.
un layer « Boutons » contenant le graphique d'une flèche avec l'action script suivant:
on (rollOver) {
_root.twTexteDefil.direction = -1;
}
on (press, release, releaseOutside, rollOut, dragOut) {
_root.twTexteDefil.direction = 0;
}
(et +1 pour l'autre flèche)
A noté que le seul élément que j'ai modifié par rapport au tutoriel de présent ici même est l'intégration du flux XML, donc l'action script du layer « Action » de l'animation.
Si j'ai bien compris tu me conseil de mettre les actions this.monClip.onEnterFrame = function() {}
Sur la frame de ma scène c'est bien cela ?
(En fait j'ai essayer mais mon défilement ne marche plus, je suppose que c'est dû, de fait à un mauvais référencement des action des flèches, mais je ne tiens pas à chercher tant que je ne suis pas sûr d'avoir bien compris ce que tu me conseilles. :)
B.
Réponses
|