J'ai un gros code ici ... Mais heureusement, il n'est pas nécessaire d'être mentionné du tout. Cela revient à quelque chose qui ... échoue? Donc, à la fin, cela est supposé dessiner deux triangles (en utilisant AS3 Graphics). Cela fonctionne bien avec un, mais quand je mets une seconde là, ça a l'air bizarre. Je trace débogués, et je pense que le bug est dans Graphics - c'est ma sortie pour les points réels tirés:Graphiques - bug chevauchant ou quoi?
DRAW
- POINT (50 , -50)
- POINT (-50 , 50)
- POINT (50 , 50)
DRAW
- POINT (-50 , -50)
- POINT (50 , -50)
- POINT (-50 , 50)
(x, y), deux triangles. Cela se traduirait par un carré d'une couleur (ces triangles sont une couleur), ou éventuellement un carré divisé en deux si je devais changer les couleurs.
Est-ce que ... Ce n'est pas le cas.
Au lieu de cela, je reçois ceci
OU (ce qui est bizarre), quand je passe l'ordre dans lequel les triangles sont dessinés:
...
Une idée de ce qui se passe? J'ai lu sur un autre forum que les fonctions beginFill et endFill sont supposées être appelées avant et après avoir dessiné toutes les formes - évidemment c'est ce que j'ai fait avant même de regarder - la couleur ne sera pas différente autrement. Alors - une idée?
EDIT:
Les appels graphiques ressemblent à ceci:
for (var vi:int = 0; vi < triangles.length; vi++){
gfx.beginFill(0xFF0000, 0.5 + (0.5 * vi));
trace("DRAW");
trace("- POINT (" + triangles[vi].points[0].x + " , " + triangles[vi].points[0].y + ")");
trace("- POINT (" + triangles[vi].points[1].x + " , " + triangles[vi].points[1].y + ")");
trace("- POINT (" + triangles[vi].points[2].x + " , " + triangles[vi].points[2].y + ")");
gfx.lineTo(triangles[vi].points[0].x, triangles[vi].points[0].y);
gfx.lineTo(triangles[vi].points[1].x, triangles[vi].points[1].y);
gfx.lineTo(triangles[vi].points[2].x, triangles[vi].points[2].y);
gfx.lineTo(triangles[vi].points[0].x, triangles[vi].points[0].y);
gfx.endFill();
}
Les appels réels à l'objet Graphics seraient utiles. – Aaron
Ajouté les ... Est-ce un bug réel ou? –