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