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

ActionScript 1 & ActionScript 2 Discussion :

[Flash, As 2.0] Probleme de class


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut [Flash, As 2.0] Probleme de class
    Bonjour à tous,
    Je suis entrain de faire une application pour mettre en pratique les classes, j'ai donc créé une classe personnage possèdant les méthodes suivantes :
    Parler => pour le faire parler dans la fenetre de sortie;
    Rapel => Rapel touets les caractéristiques du personnage dans la fenêtre de sortie(Prénom, age, vie...);
    Afficher => Pour afficher le personnage sur la scène;

    Tout fonctionne très bien
    Mais pas tout a fait

    Ce qui ne va pas, c'est que je ne peux pas afficher 2 personnages en même temps, si j'affiche le 2eme, le 1er disparait ...
    Je vous passe mon code :

    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
     
    //Fichier Personnage.as
    class Personnage
    {
    	function Personnage(sPrenomTemp:String, nAgeTemp:Number, sSexTemp:String, nVieTemp:Number, nManaTemp:Number, nForceTemp:Number, nVittesseTemp:Number, nXTemp:Number, nYTemp:Number)
    	{
    		sPrenom = sPrenomTemp;
    		nAge = nAgeTemp;
    		sSexe = sSexTemp;
    		nVie = nVieTemp;
    		nMana = nManaTemp;
    		nForce = nForceTemp;
    		nVittesse = nVittesseTemp;
    		nX = nXTemp;
    		nY = nYTemp;
    	}
    	function parler (strParole)
    	{
    		trace(sPrenom+" dit : "+strParole);
    	}
    	function rapel ()
    	{
    		trace("prenom : "+sPrenom);
    		trace("age : "+nAge);
    		trace("sexe : "+sSexe);
    		trace("vie : "+nVie);
    		trace(nMana);
    		trace(nForce);
    		trace(nVittesse);
    		trace(nX);
    		trace(nY);
    	}
    	function afficher()
    	{
    		//_root.createEmptyMovieClip(sPrenom, 10);
    		_root.attachMovie(sSexe, "mc"+sPrenom, 10);
    		_root["mc"+sPrenom]._x = nX;
    		_root["mc"+sPrenom]._y = nY;
    	}
    	//VARIABLES
    	var sPrenom:String;
    	var nAge:Number;
    	var sSexe:String;//garcon ou fille
    	var nVie:Number;
    	var nMana:Number;
    	var nForce:Number;
    	var nVittesse:Number;
    	var nX:Number;
    	var nY:Number;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //fichier main.fla
    plopi = new Personnage("plopi", 14, "garcon", 100, 100, 10, 10, 200, 200);
    bubu = new Personnage("bubu", 14, "garcon", 100, 100, 10, 10, 300, 300);
    plopi.afficher();
    bubu.afficher();
    stop();
    Voilà, j'avoue ne pas trop comprendre ce comportement... Si vous pouviez m'aider, ce serait super.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Salut,

    ta méthode afficher place un clip dans un niveau précis en dur (10),
    il faut afficher par exemple dans le prochain niveau disponible pour pas qu'ils "s'écrasent" entre eux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function afficher()
    {
        _root.attachMovie(sSexe, "mc"+sPrenom, _root.getNextHighestDepth() );
        _root["mc"+sPrenom]._x = nX;
        _root["mc"+sPrenom]._y = nY;
    }
    à part ça je te déconseille fortement d'utiliser _root, surtout dans des classes.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut re : proble de classes
    Merci beaucoup de ta réponse, ça marche

    Citation Envoyé par beekeep Voir le message
    à part ça je te déconseille fortement d'utiliser _root, surtout dans des classes.
    Euh... C'est sur que _root n'ai pas aprprié avez vous une id&e svp, car là je bloque encore... ?

    Encore merci !

  4. #4
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    il faut une référence au clip qui va contenir les personnages, le mieux est d'avoir un attribut de la classe dédié mais tu peux aussi passer cette référence en paramètre de la fonction afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function afficher(p_mcContainer:MovieClip)
    {
        p_mcContainer.attachMovie(sSexe, "mc"+sPrenom, p_mcContainer.getNextHighestDepth() );
        p_mcContainer["mc"+sPrenom]._x = nX;
        p_mcContainer["mc"+sPrenom]._y = nY;
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 55
    Par défaut re
    Merci beaucoup d pour ton aide, grace a toi, je vais pouvoir faire des programmes beaucoup olus complexes,

    A+

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

Discussions similaires

  1. [FLASH MX2004] (AS 2.0) Probleme de classe
    Par t_o_7_ dans le forum Flash
    Réponses: 4
    Dernier message: 12/07/2005, 17h38
  2. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  3. [FLASH MX 2004] message erreur de classe
    Par matN59 dans le forum Flash
    Réponses: 3
    Dernier message: 14/06/2004, 08h59
  4. problème de classe d'association
    Par Nip dans le forum Diagrammes de Classes
    Réponses: 8
    Dernier message: 08/06/2004, 16h08
  5. Probleme de classe CComplex
    Par Balls dans le forum MFC
    Réponses: 7
    Dernier message: 13/02/2004, 10h55

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