Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/02/2008, 14h47   #1
Invité de passage
 
Inscription : décembre 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 10
Points : 2
Points : 2
Par défaut actionscript : class extends xml

Bonjour ,

En fait, j'aurais eut une petite question concernant l'extension de la classe XML. C'est a dire, de créer une classe qui étends la classe "XML" ce qui permettrait en outre d'encapsuler le chargement du fichier XML et d'éviter à chaque fois de retaper les load, onlooad, etc... .On aurait juste à cibler le fichier xml dans le scénario et hop.

J'ai donc creer cette classe :

class testXML extends XML{


//attributs de la classe

var conteneurXML:XML;
var dossierXML:String;
var attribut:String;
var ecrit:Object;
var nbNoeuds:Object;


//constructeur la classe

public function testXML(dossier:String){
super;
conteneurXML=new XML;
dossierXML=dossier;
ChargeurXML()
}

//Méthodes de la classe

public function ChargeurXML():Void{

conteneurXML.onLoad=prechargement;
conteneurXML.load(dossierXML);
conteneurXML.ignoreWhite=true;

}

public function prechargement(succes:Boolean){
if(succes){

trace("fichier chargé");

//enregistrement de valeur dans attribut et nbNoeuds

attribut=conteneurXML.firstChild.childNodes.attributes.jpegURL;
nbNoeuds=conteneurXML.firstChild.childNodes.length;
trace("fin");
_root.play();
} else {
trace("erreur de chargement");
}
}
}

Seulement voilà, même si flash ne m'indique pas d'erreur, attribut et nbNoeuds, n'enregistre aucune valeur.

J'aurais juste voulu savoir si quelqu'un à déja tenté de creer cette classe et y'a réussi ; ou si actionscript 3 offre une meilleur solution. Parce que la je vois pas ce qui cloche.

Bonne journée,
pierre-y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 10h40   #2
Membre habitué
 
Inscription : novembre 2004
Messages : 197
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 197
Points : 120
Points : 120
Salut,
J'ai pas Flash sous les yeux donc je te laisse tester la suite.
Que donne "trace(this)" dans la fonction "prechargement" ?
Si il donne "conteneurXML" alors "attribut" et "nbNoeuds" ne sont pas visible. C'est un classique problème de porté dans les fonctions d'événement pour les objets des classes. Tapes donc "Delegate Flash" sous Google et bonne chance pour la suite.
__________________
Si vous avez votre réponse n'oubliez pas !
ViveLesQuads est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 11h39   #3
Invité de passage
 
Inscription : décembre 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 10
Points : 2
Points : 2
trace(this) permet d'afficher en sortie, dans le scénario ce qui est écrit dans ton fichier XML. C'est d'autant plus rageant de voir que le chargement du fichier c'est bien, mais qu'il est impossible de pouvoir le traiter en sélectionnant ces informations.
pierre-y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 11h50   #4
Membre habitué
 
Inscription : novembre 2004
Messages : 197
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 197
Points : 120
Points : 120
Re,
Si "trace(this)" affiche le contenu du fichier, je crains que "trace(nbNoeuds)" et "trace(attribut)", dans la fonction "prechargement" donnent "undefined". Dans ce cas on est bien dans le cas de problème de portée de variable dont j'ai parlé.
__________________
Si vous avez votre réponse n'oubliez pas !
ViveLesQuads est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h39.


 
 
 
 
Partenaires

Hébergement Web