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

Flash Discussion :

acceder a une classe


Sujet :

Flash

  1. #1
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut acceder a une classe
    Bonjour

    j'ai donc fais une visionneuse avec cette classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    114
    115
    116
    117
    /*
    *	Classe Fichier XML
    *	pour visionneuse photo
    *
    *	KarKam Dvpt.
    *	Juin 2007
    */
     
    //Definition de la classe fichier XML
    class fichierXML {
    	public var monFichier:XML;
    	public var maPhoto:XMLNode;	
    	public var listePhoto:Array;
    	public var position :Number;
    	public var album:String;
    	public var delay:Number=10000;
    	public var chronoDiapo:Number;
    //Constructeur de la classe
    public function charger (srcAlbum:String){
    	position=0;
    	album=srcAlbum;
    	monFichier = new XML();
    	monFichier.ignoreWhite=true;
    	listePhoto = new Array();
    	//monFichier.load("gallery.xml");
    	var thisClass:fichierXML=this;//on crée une reférence local de l'instance de la class
    	// [...]
    	monFichier.load("http://karkam.free.fr/album/"+album+"/gallery.xml");
    	monFichier.onLoad=function(succes:Boolean){
    		if(succes==true){
    			thisClass.maPhoto=thisClass.monFichier.firstChild;
    			thisClass.listePhoto=thisClass.maPhoto.childNodes;
    			//thisClass.diaporama();
    			//trace(thisClass.monFichier.firstChild.childNodes.length);
    			//trace(thisClass.taille());
    			//Afficher Auteur et date
    			//trace("Constructeur XML");
    			//Afficher la premiere photo
    		}else{
    			// erreur de chargement
    			trace("Echec");
    		}
    	}
    }
     
    	//Afficher Auteur et date
    	//Afficher la premiere photo
    //Fonction taille
    //retourne le nombre de photo
    public function taille ():Number {
    	return listePhoto.length;
    }
    //Fonction retourne le numéro de la photo courante
    public function numeroPhoto():Number{
    	return position;
    }
    //Fonction afficher photo et légende courants
    public function afficher(){
    	_root.mc.loadMovie("http://karkam.free.fr/album/"+album+"/images/"+listePhoto[position].attributes.filename,_root.mc);
    	_root.label_info.text=listePhoto[position].attributes.legend;
     
     
    }
    //Fonction premiere photo
    public function premier(){
    	position=0;
    	afficher();
    	}
    //Fonction derniere photo
    public function dernier(){
    	position=listePhoto.length;
    	afficher();
    }
    //Fonction photo suivante
    public function suivant(){
    	if(!estDernier()){
    	   position++;
    	   afficher();
    	}
    }
    //Fonction photo précédente
    public function precedent(){
    	if(!estPremier()){
    		position--;
    		afficher();
    	}
    }
    //Fonction photo précédente
    public function estPremier():Boolean{
    	if(position!=0){
    		return false;
    	}else{
    		return true;
    	}
    }
    //Fonction photo précédente
    public function estDernier():Boolean{
    	if(position<listePhoto.length){
    		return false;
    	}else{
    		return true;
    	}
    }
    function diaporama(){
    	chronoDiapo=setInterval(this, "diaporamaSuivant",delay);
    }
    function diaporamaSuivant(){
    	if(estDernier()){
    		clearInterval(chronoDiapo);
    	}else{
    		suivant();
    	}
    }
    function arretDiapo(){
    	clearInterval(chronoDiapo);
    }
    }
    j'ai instancié cette classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import fichierXML;
    var monAlbum:fichierXML = new fichierXML();
    mais je ne peux pas acceder aux méthodes via l'exterieur des accolades du onLoad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    on (press){
    	_root.label_info.text = "Lecture";
    	_root.monALbum.suivant();
    }
    comment ça se fait ??

    et que dois je faire pour y remedier ?

    d'avance merci
    Plzzz pas de questions par MP.

  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 : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Citation Envoyé par LeXo
    Bonjour

    j'ai instancié cette classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import fichierXML;
    var monAlbum:fichierXML = new fichierXML();
    mais je ne peux pas acceder aux méthodes via l'exterieur des accolades du onLoad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    on (press){
    	_root.label_info.text = "Lecture";
    	_root.monALbum.suivant();
    }
    comment ça se fait ??

    et que dois je faire pour y remedier ?

    d'avance merci
    Bonjour,

    Lorsque tu exécutes ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    on (press){
    	_root.label_info.text = "Lecture";
    	_root.monALbum.suivant();
    }
    Tu perds le scope de ta classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import fichierXML;
    var monAlbum:fichierXML = new fichierXML();
    Pour palier à ce probleme, tu peux utiliser la fonction Delegate pour créer ton action onpress,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // syntaxe à vérifier
    import mx.delegate;
     
    myButton.onPress = delegate.create (this, onPress);
     
    function onPress()
    {
            // accès à l'instance de ta classe
    monAlbum.charger ("srcAlbum");
    }
    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
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    non excuse c moi j'ai fait une faute de casse

    bha merci quand meme je vais penser a ton delegate
    Plzzz pas de questions par MP.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/03/2008, 13h18
  2. Réponses: 2
    Dernier message: 23/10/2006, 13h52
  3. Réponses: 1
    Dernier message: 18/08/2006, 10h34
  4. [vb.net 2.0]Acceder aux variable d'une classe
    Par kissskoool dans le forum Windows Forms
    Réponses: 8
    Dernier message: 21/06/2006, 19h54
  5. Réponses: 3
    Dernier message: 12/10/2005, 09h23

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