Actionscript 3 AS3中位图数据的放置坐标

Actionscript 3 AS3中位图数据的放置坐标,actionscript-3,bitmapdata,Actionscript 3,Bitmapdata,我已经通过编程创建了一个矢量图形(rect),重新定位了图形,并设置了一个鼠标移动事件监听器,以使用getPixel()跟踪图形的颜色信息。但是,bitmapData被放置在舞台的0,0处,我不知道如何移动它以使其匹配图形的位置 var coloredSquare:Sprite = new GradientRect(200, 200, 0xFFFFFF, 0x000000, 0xFF0000, 0xFFFF00); coloredSquare.x = 100; addChild(colored

我已经通过编程创建了一个矢量图形(rect),重新定位了图形,并设置了一个鼠标移动事件监听器,以使用getPixel()跟踪图形的颜色信息。但是,bitmapData被放置在舞台的0,0处,我不知道如何移动它以使其匹配图形的位置

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));
    }

使用正方形的变换矩阵(也包含平移)作为方法的第二个参数

e、 g


使用正方形的变换矩阵(也包含平移)作为方法的第二个参数

e、 g

使用

这样,mouseX/mouseY将位于彩色正方形的本地,因此位图将复制。

使用


这样,mouseX/mouseY将位于彩色正方形的本地,因此位图将重复。

我不完全理解问题或代码。也许这有助于:

coloredSquareBitmap.draw(coloredSquare, coloredSquare.transform.concatenatedMatrix);

我不完全理解问题或代码。也许这有助于:

coloredSquareBitmap.draw(coloredSquare, coloredSquare.transform.concatenatedMatrix);

嗨,乔治。我试过了,但是鼠标事件在彩色方块的右半部分丢失了。它似乎只对左半部分有效。虽然
concatatedMatrix
更好,因为它在所有情况下都能工作,这不仅仅是因为父级没有应用转换。哦,我现在明白我的错误了。您确实回答了问题,但我的鼠标事件导致了错误。谢谢,你好,乔治。我试过了,但是鼠标事件在彩色方块的右半部分丢失了。它似乎只对左半部分有效。虽然
concatatedMatrix
更好,因为它在所有情况下都能工作,这不仅仅是因为父级没有应用转换。哦,我现在明白我的错误了。您确实回答了问题,但我的鼠标事件导致了错误。谢谢
coloredSquareBitmap.draw(coloredSquare, coloredSquare.transform.concatenatedMatrix);