Bonjour,
je développe actuellement une application qui va générer une grille (un ensemble de carrés associés). Chacun de ces carrés appartient à une classe "Case" qui étend la classe "Sprite" pour bénéficier de ses événements et être insérable dans la scène principale.
Lors de la création d'une nouvelle case, j'appelle donc "genererCase()". Cette fonction va construire un carré (classe "Square") qui sera par la suite associé à la case grâce à la méthode "addChild()". Il sera également stocké dans une de ses propriété, à savoir "representation".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function genererCase():void { representation = new Shape(); selectColor(getPossesseur()); selectForme(); representation.graphics.endFill(); }
Mon problème se situe dans la procédure suivante, que je vais rappeler par la suite. Lors de sa création la couleur s'initialise bien (0xFFFFFF = blanc). Mais lorsque je la rappelle, malgré le fait que le debug passe bien par le "else" et que les propriétés "fstColor" soit respectivement 0x33FF33 pour Main.joueursTab[0] et 0x33CCFF pour Main.joueursTab[1]. Aucun changement (modification de couleur) ne s'effectue sur la scène principale...
Merci d'avoir pris le temps de lire mon problème !
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 private function selectColor(possesseur:int):void { //Couleur de fond puis de contour if (possesseur == 0) { representation.graphics.beginFill(0xFFFFFF); representation.graphics.lineStyle(1, 0x000000); } else { var couleur:uint; if (possesseur == 1) couleur = Main.joueursTab[0].fstColor; else if (possesseur == -1) couleur = Main.joueursTab[1].fstColor; trace(couleur); representation.graphics.beginFill(couleur); representation.graphics.lineStyle(1, 0x000000); } }
Partager