Bonjour à tous !
Bon, je suis en train de tourner en boucle (facon de parler) concernant l'affichage de 4 carrés ayant des dégradés différents.
Je m'explique, j ai crée une classe Forme.as qui crée un carré dont la couleur est un dégradé pour cela j utilise BeginGradientFill.
Jusque la pas de problème ça fonctionne, cependant lorsque je veux boucler la création de mon carré avec des dégradés de couleurs différentes (couleurs contenues dans un tableau), j obtiens bien quatre carrés mais avec le même dégradé.
En fait j ai l'impression que ma fonctionne boucle correctement mais elle ne prend que la première ligne de couleurs de mon tableau de couleurs.
Or je voudrais que la couleur de mes carrés correspondent aux 4 couleurs de dégradés issus de mon tableau.
j'espère avoir été compréhensible dans mes l'explication de mon problème.
Si quelqu'un pouvait m aiguiller, ou m'apporter une solution cela serait vraiment sympa !!!!.
Merci d'avance pour toutes vos réponses.
Je vous joins le code :
fichier.as
fichier.fla
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 package { import flash.display.*; import flash.events.*; import flash.geom.*; public class Forme extends Sprite { //a.Definition des proprietes d'une Forme public static var largeurRubrique:uint=175; public static var hauteurRubrique:uint=175; private var degradé4:uint; private var rectangleDegrade:Sprite; private var i:uint=0; public static const listeCouleurs = [ { colors:[0x0090FF, 0x44EE00, 0xFF3300]}, { colors:[0x0090FF, 0x66FF00, 0x0000CC]}, { colors:[0x66FF00, 0x44EE00, 0x00CC00]}, { colors:[0xFF99CC, 0xFFFFFF, 0x00CC00]}]; //b.Definition de la méthode Rubrique(), public function Forme (nlar:Number, nhau:Number){ largeurRubrique=nlar; hauteurRubrique=nhau; creerRectangle (); } //c.Afficher la zone rectangulaire à l'aide des propriétes de la classe function creerRectangle ():void { //for (var i:uint=0;i<4;i++){ rectangleDegrade= new Sprite();// Instance de l'objet d'affichage var matrice:Matrix = new Matrix();//Matrice de transformation du dégradé matrice.createGradientBox(100, 30);//largeur et épaisseur du dégradé rectangleDegrade.graphics.beginGradientFill(GradientType.LINEAR,listeCouleurs[i] .colors, [1, 1, 1],[0, 175, 255], matrice);// Le rectangle sera rempli avec un dégradé // Positionnement et affichage du rectangle dans la séquence rectangleDegrade.graphics.drawRect(0, 0, largeurRubrique, hauteurRubrique); rectangleDegrade.rotation=-90;//Pivoter le rectangle dans le bon sens addChild(rectangleDegrade); //} } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var listeRubriques:Array=new Array(4); var largeurRubrique:uint=175; var hauteurRubrique:uint=175; // Creation des rubriques for (var i:uint=0;i<4;i++){ listeRubriques[i]=new Forme( largeurRubrique, hauteurRubrique); addChild(listeRubriques[i]); listeRubriques[i].x=250*i; listeRubriques[i].y=300; }
Partager