J'ai créé par programme un graphique vectoriel (rect), repositionné le graphique et mis en place un MOUSE_MOVE eventListener pour tracer les informations de couleur du graphique en utilisant getPixel(). Cependant, le bitmapData est placé à 0,0 de la scène et je ne sais pas comment le déplacer afin qu'il corresponde à l'emplacement du graphique.Coordonnées de placement de bitmapData dans AS3
var coloredSquare:Sprite = new GradientRect(200, 200, 0xFFFFFF, 0x000000, 0xFF0000, 0xFFFF00);
coloredSquare.x = 100;
addChild(coloredSquare);
var coloredSquareBitmap:BitmapData = new BitmapData(coloredSquare.width, coloredSquare.height, true, 0);
coloredSquareBitmap.draw(coloredSquare);
coloredSquare.addEventListener(MouseEvent.MOUSE_MOVE, readColor);
function readColor(evt:Event):void
{
var pixelValue:uint = coloredSquare.getPixel(mouseX, mouseY);
trace(pixelValue.toString(16));
}
salut george. J'avais essayé cela mais l'évènement souris est perdu sur la moitié droite de la case colorée. il semble ne fonctionner que pour la moitié gauche. – TheDarkIn1978
+1. bien que 'concatenatedMatrix' soit meilleur, puisqu'il fonctionne dans tous les cas, un pas juste si le parent n'a aucune transformation appliquée. – back2dos
@ back2dos merci d'avoir souligné cela! –