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 :

[FLASH MX2004] Heritage de classe


Sujet :

Flash

  1. #1
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut [FLASH MX2004] Heritage de classe
    Salut


    je suis en train de faire une méthode pour dessiner des formes j'ai dc utilises des classes et de l'héritage

    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
     
    /**
     * Extension de la class Clip
     */
    class i_clip extends MovieClip {
    	 //---- private proprietee
    	 private var mc_Clip:MovieClip;
     
    	 //----ConstrucTor
    	 public function i_clip (sCible:MovieClip){
    		 mc_Clip=sCible.createEmptyMovieClip("sClip",1);
    	 }
    }
    /**
     * Dessiner une forme rectangle , rond , etc
     */
    class forme extends i_clip {
     
    	//---Private Methodes
    	private var sFond:String;
    	private var nAlpha:Number;
    	private var nEpaisseur:Number;
    	private var sBordure:String;
    	private var mcForme:i_clip;
     
    	//--- ConstrucTor
    	public function forme (nAlp:Number,nEpais:Number,sBord:String,sFnd:String,sCible:MovieClip)
    	{
    		// Creation Clip Vide
    		mcForme= new i_clip(sCible);
     
    		sFond = sFnd;
    		nAlpha=nAlp;
    		nEpaisseur=nEpais;
    		sBordure= sBord;
    	}
     
    	//---Methodes privée
    	private function _dessiner(Void):Void{};
    }
    /**
     * Dessiner rectangle
     */
    class rect extends forme {
          //---- ProPriétées Privées
    	private var nLargeur:Number;
    	private var nLongueur:Number;
     
    	//--- ConstrucTor
    	public function rect(nLarg:Number,nLong:Number,nAlp:Number,nEpais:Number,sBord:String,sFnd:String,sCible:MovieClip)
    	{
    		// cree une forme
    		new forme(nAlp,nEpais,sBord,sFnd,sCible)
     
    		nLargeur=nLarg;
    		nLongueur=nLong;
     
    	}
     
    }
    bon alors
    quand je fais ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import i_clip.*;
     
    var rectangle:rect = new rect(100,50,100,1,"0x666666","0x333333",_root);
     
    rect._larg()
    j'ai ce message

    **Error** Scene=Scene 1, layer=Action, frame=1:Line 5: The property being referenced does not have the static attribute.
    rect._larg()
    ca veut dire quoi

    merci d'avance

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    La propriété n'est pas statique donc il faut que tu lui donnes le nom de ton objet plutôt que celui de la classe.

  3. #3
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    ah oui je suis bete !!

    merci

  4. #4
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    j'ai un autre problème

    je cree un methode dessiner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public function _dessinner(Void):Void
    	{
    		mcForme.beginFill(sFond,nAlpha);
    		mcForme.moveTo(0,0);
    		mcForme.lineStyle(nEpaisseur,sBordure);
    		mcForme.lineTo(0,nlargeur);
    		mcForme.lineTo(nLongueur,nlargeur);
    		mcForme.lineTo(nLongueur,0);
    		mcForme.lineTo(0,0);
    		mcForme.endFill();
    	}
    mais j'ai cette erreur
    **Error** D:\Bolo\creation\Class_Flash\rect.as: Line 25: Type mismatch.
    mcForme.beginFill(sFond,nAlpha);

    **Error** D:\Bolo\creation\Class_Flash\rect.as: Line 27: Type mismatch.
    mcForme.lineStyle(nEpaisseur,sBordure);

    Total ActionScript Errors: 2 Reported Errors: 2

  5. #5
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    mcForme.beginFill(sFond,nAlpha);
    Dans ta classe précédente, sFond est un String or dans beginFill il lui faut un Number C'est la meme chose pour sBorder Il faut que tu castes via Number(sFond)

    @++

  6. #6
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    oui c bien ca
    en passant j'essaie de faire en sorte de dessiner un carré mais que je le vois progressivement se dessiner a l'écran

    qqn aurait une idée
    ?

  7. #7
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    tu as ton code quelque part?

  8. #8
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    voila moi mon idée
    faire deux tableaux 1 avec les x et autre y pour les 4 lignes
    et chaque fois que un ligne est terminé on pas ligne suivante

  9. #9
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    En effet, l'idée est bonne Maintenant cela relève plus de l'algorithmique que du flash En fait il faut diviser tes x et y par le nombres d'interval voulus (autrement dit la vitesse à laquelle tu veux que ca se dessinne) et tu obtient le lineTo(x, y) à chaque itération

    @++

  10. #10
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    En fait il faut diviser tes x et y par le nombres d'interval voulus (autrement dit la vitesse à laquelle tu veux que ca se dessinne) et tu obtient le lineTo(x, y) à chaque itération
    tu peux me donner plus d'explication

    j'ai essayer un truc mais mon rectangle est devenu un triangle

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

Discussions similaires

  1. [FLASH MX2004] Problème de classe
    Par JulPoWeR dans le forum Flash
    Réponses: 1
    Dernier message: 10/07/2005, 23h51
  2. [FLASH MX2004] Faire un array d'une nouvelle class
    Par fransouik dans le forum Flash
    Réponses: 9
    Dernier message: 27/12/2004, 18h39
  3. [FLASH MX2004] [AS2] Classe méthodes static
    Par bolo dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 16/12/2004, 19h26
  4. Réponses: 7
    Dernier message: 05/10/2004, 14h44
  5. [FLASH MX2004] Architecture d'une classe
    Par matN59 dans le forum Flash
    Réponses: 6
    Dernier message: 13/05/2004, 09h11

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