ハイ、私はActionScriptの初心者です。
私はactionscript3でブラシツールを作成しようとしています。このツールでは、子供がブラシを使用して円の内側に色をペイントできます。私はlinestyleを使用してこれを達成しました。今、私は子供が完成しようとしているときにブラシが色をスナップするようにしたいです(たとえば、彼らが絵を完成させるために95%になったとき)。子供が円にどれだけ描いたかをどうやって知ることができますか?
ありがとう
ハイ、私はActionScriptの初心者です。
私はactionscript3でブラシツールを作成しようとしています。このツールでは、子供がブラシを使用して円の内側に色をペイントできます。私はlinestyleを使用してこれを達成しました。今、私は子供が完成しようとしているときにブラシが色をスナップするようにしたいです(たとえば、彼らが絵を完成させるために95%になったとき)。子供が円にどれだけ描いたかをどうやって知ることができますか?
ありがとう
子供が円にどれだけ絵を描いたかを知るにはどうすればよいですか?
あなたはできる:
ピクセルの数え方:
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% に達したら、子供の描画をクリアして、塗りつぶされた図形を表示できます。