AS3 BitmapData百分比比较

时间:2014-03-31 19:03:06

标签: actionscript-3 compare percentage bitmapdata erase

我正在开发一款带有割草机的游戏,它将鼠标定位在鼠标上,并在草地上涂上白色的颜色,以便给割草机切割(擦除)草的幻觉。

我想创建一个检查割草百分比的功能,这基本上意味着检查当前在草图中绘制了多少白色。

我该怎么做呢?有一个简单的方法吗?

这是我目前的代码:

import flash.display.BitmapData;
import flash.events.Event;

var bitmapData = new grass();

var bitmap = new Bitmap(bitmapData);

var mower = new Mower();

var radiance:Number = 180/Math.PI;

var erase:Sprite=new Sprite();
erase.cacheAsBitmap = true;

bitmap.y=0;
bitmap.x=0;
addChild(bitmap);

addChild(erase);

addChild(mower);

this.addEventListener(Event.ENTER_FRAME, function(e:Event):void
                  {  
                        erase.graphics.beginFill(0xFFFFFF);
                               erase.graphics.drawCircle(mower.x,mower.y,25);
                        erase.graphics.endFill();

                        var mowerdirection = -    (Math.atan2(mouseX-mower.x, mouseY-mower.y))*radiance;
                        mower.rotation = mowerdirection;

                        followMower();

                        var myTestingBitmapData:BitmapData =     new BitmapData(bitmapData.width, bitmapData.height, true, 0x00000000);

                        trace( myTestingBitmapData.compare( bitmap.bitmapData) )

                  });

erase.addEventListener(MouseEvent.CLICK, function(e:Event):void
                    {
                        trace('click');

                    });

function followMower():void 
 {
var dx:int = mower.x - mouseX;
var dy:int = mower.y - mouseY;
mower.x -= dx / 10;
mower.y -= dy /10;
}

1 个答案:

答案 0 :(得分:0)

您可以尝试使用图像分析框架或某些方法来计算图像中的颜色。有一个名为histogram的内置功能可以帮助您,您也可以使用此postthis link下的解决方案