With ()

Résolu
ZaCrA Messages postés 4 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 31 décembre 2004 - 29 déc. 2004 à 13:52
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007 - 31 déc. 2004 à 15:16
salut tt les codeurs
voila j'ai fais ceci
fenetre01.beginFill (0xCCCC99,50)
fenetre02.beginFill (0xCCCCFF,50)
fenetre03.beginFill (0x99CCFF,50)
fenetre04.beginFill (0xCC66FFf,50)
fenetre05.beginFill (0x00CCCC,50)
fenetre06.beginFill (0x66FF99,50)

et je voudrais savoir si on peut y simplifier avec with ()
pour garder
(0xCCCC99,50)
(0xCCCCFF,50)
(0x99CCFF,50)
(0xCC66FFf,50)
(0x00CCCC,50)
(0x66FF99,50)

merci par avance
++

7 réponses

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
31 déc. 2004 à 01:31
Ba heu ... je comprend pas trop ce que tu as voulu faire !

C'est inutile de faire beginFill pour 6 objects alors que tu ne dessinnes que dans un seul !

function forme(nom, niv)
{
this.nom = nom;
this.niv = niv;
}

// affectation methode carre
forme.prototype.carre = function(x, y, larg, haut, color)
{
var mc = _root.createEmptyMovieClip(this.nom, this.niv);

// Enregistrement des variables (je vois pas pourquoi !)
this.x = x;
this.y = y;
this.larg = larg;
this.haut = haut;
this.color = color;

// dessin :
with (mc) {
beginFill(color, 50);
lineStyle(1, 0xFFFFFF, 100);
moveTo(x, y);
lineTo(x, y+haut);
lineTo(x+larg, y+haut);
lineTo(x+larg, y);
lineTo(x, y);
endFill();
}
};

// fenetre principale
fenetre1 = new forme("fenetre01", 1);
fenetre1.carre(22, 160, 640, 360, 0xCCCC99);
fenetre2 = new forme("fenetre02", 2);
fenetre2.carre(22, 160, 640, 13, 0xCCCCFF);
fenetre3 = new forme("fenetre03", 3);
fenetre3.carre(22, 507, 640, 13, 0x99CCFF);

//fenetre secondaire
fenetre4 = new forme("fenetre04", 4);
fenetre4.carre(670, 160, 160, 100, 0xCC66FF);
fenetre5 = new forme("fenetre05", 5);
fenetre5.carre(670, 160, 160, 13, 0x00CCCC);

//fenetre tertiaire
fenetre6 = new forme("fenetre06", 6);
fenetre6.carre(680, 545, 125, 25, 0x66FF99);
fenetre7 = new forme("fenetre07", 7);
fenetre7.carre(705, 545, 25, 25);
fenetre8 = new forme("fenetre08", 8);
fenetre8.carre(755, 545, 25, 25);


www.SuperDevy.c.la !
3
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
29 déc. 2004 à 14:58
Tu ne peux pas utiliser with ici puisque tu agis sur des mc différents.
Par conte, une boucle FOR :

var colors = [undefined, 
  0xCCCC99, 
  0xCCCCFF, 
  0x99CCFF, 
  0xCC66FFf, 
  0x00CCCC, 
  0x66FF99];

for (var i=1; i<=6; i++) {
var nom = "fenetre"+(i<10?"0"+i:i);
this[nom].beginFill (colors[i], 50);
}


SuperDevy
0
ZaCrA Messages postés 4 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 31 décembre 2004
30 déc. 2004 à 20:34
merci bien !!
;)
0
ZaCrA Messages postés 4 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 31 décembre 2004
30 déc. 2004 à 22:17
cè encore moi... J'ai vérifié une quinzaine de fois ta syntaxe et elle est bonne, malheureusement débutant en action script je suis perdu!
Et oui j'ai donc changer ton 'var nom' par un 'var nom2' puisque j'avais déjà utilisé ce nom là.
J'ai inseré ton script et pour le cloturer jai utilisé 'this[nom2].endFill ();'
à la place de : fenetre01.endFill ();
fenetre02.endFill ();
fenetre03.endFill ();
fenetre04.endFill ();
fenetre05.endFill ();
fenetre06.endFill ();
pour moi tout me semble normal, d'après mes connaissances ;)
voila je joint le script. j'ai du me trompé kelke par la couleur a disparut.
merci

function forme(nom, niv) {
this.nom = nom;
this.niv = niv;
}
//affectation methode carre
forme.prototype.carre = function(x, y, larg, haut) {
_root.createEmptyMovieClip(this.nom, this.niv);
this.x = x;
this.y = y;
this.larg = larg;
this.haut = haut;
var colors = [undefined, 
0xCCCC99, 
0xCCCCFF, 
0x99CCFF, 
0xCC66FF, 
0x00CCCC, 
0x66FF99];

for (var i=1; i<=6; i++) {
var nom2 = "fenetre"+(i<10?"0"+i:i);
this[nom2].beginFill (colors[i], 50);
}


_root[this.nom].lineStyle(1, 0xffffff, 100);
_root[this.nom].moveTo(this.x, this.y);
_root[this.nom].lineTo(this.x, this.y+this.haut);
_root[this.nom].lineTo(this.x+this.larg, this.y+this.haut);
_root[this.nom].lineTo(this.x+this.larg, this.y);
_root[this.nom].lineTo(this.x, this.y);


this[nom2].endFill ();

};
// fenetre principale
fenetre1 = new forme("fenetre01", 1);
fenetre1.carre(22, 160, 640, 360);
fenetre2 = new forme("fenetre02", 2);
fenetre2.carre(22, 160, 640, 13);
fenetre3 = new forme("fenetre03", 3);
fenetre3.carre(22, 507 , 640, 13);
//fenetre secondaire
fenetre4 = new forme("fenetre04", 4);
fenetre4.carre(670, 160, 160, 100);
fenetre5 = new forme("fenetre05", 5);
fenetre5.carre(670, 160 , 160, 13);
//fenetre tertiaire
fenetre6 = new forme("fenetre06", 6);
fenetre6.carre(680, 545 , 125, 25);
fenetre7 = new forme("fenetre07", 7);
fenetre7.carre(705, 545 , 25, 25);
fenetre8 = new forme("fenetre08", 8);
fenetre8.carre(755, 545 , 25, 25);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
31 déc. 2004 à 01:34
Remarque bien ceci :
 var mc = _root.createEmptyMovieClip(this.nom, this.niv);

C'est extrèmement important pour ce que tu veux faire ...

www.SuperDevy.c.la !
0
ZaCrA Messages postés 4 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 31 décembre 2004
31 déc. 2004 à 11:12
Bah ke dire de mieux à part super !
Pour l'enregistement des variables, effectivement elles sont pas obligatoire. Par contre, je vois souvant var mc. Pourkoi on donne souvant comme nom a une var mc. ça ve dire koi au juste?
jte remercie bien, jvais pouvoir continuer tt ça .

a +
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
31 déc. 2004 à 15:16
C'est vrai que mc ça fait un peu Mc Donald ... en fait, mc, c'est l'abréviation de MovieClip.

www.SuperDevy.c.la !
0
Rejoignez-nous