【发布时间】:2011-04-11 03:23:58
【问题描述】:
嘿,我是 actionscript 的新手。
我正在尝试在 actionscript 3 中制作一个画笔工具,孩子们可以在其中使用画笔在圆圈内绘制颜色。我已经使用线条样式实现了这一点。现在我希望画笔在孩子即将完成时(比如当他们完成绘画完成 95% 时)来捕捉颜色。我怎么知道孩子在圆圈上画了多少?
谢谢
【问题讨论】:
标签: actionscript-3 bitmap brush linestyle snapping
嘿,我是 actionscript 的新手。
我正在尝试在 actionscript 3 中制作一个画笔工具,孩子们可以在其中使用画笔在圆圈内绘制颜色。我已经使用线条样式实现了这一点。现在我希望画笔在孩子即将完成时(比如当他们完成绘画完成 95% 时)来捕捉颜色。我怎么知道孩子在圆圈上画了多少?
谢谢
【问题讨论】:
标签: actionscript-3 bitmap brush linestyle snapping
我怎么知道孩子有多少 画在圆圈上?
你可以:
如何计算像素:
function countPixels(shape:DisplayObject):int
{
var bd:BitmapData = new BitmapData(shape.width, shape.height);
bd.draw(shape);
//here you get sequence of ARGB-packed colors in vector
var pixels:Vector.<uint> = bd.getVector(bd.rect);
//AFAIK, fastest method to traverse vector is 'for' loop
var pixel:uint;
var filledCount:int = 0;
for (var i:int = pixels.length - 1; i >= 0; i--)
{
pixel = pixels[i];
//pixel is 32-bit ARGB color value, test upper 8 bits (alpha):
if ((pixel >> 24) > 0) filledCount++;
}
return filledCount;
}
在填充的形状上运行此命令以获得要比较的总像素数。
pixelCount 达到 95% 后,即可清除孩子的绘画并显示填充形状。
【讨论】: