任何人都可以在AS3中使用BlendMode.ERASE時如何避免看到線條?在flash中使用BlendMode「擦除」時出現奇怪的行爲AS3
這裏是一個例子。我在舞臺上繪製黑色背景,然後將2個重疊圓圈畫到一個精靈上,並嘗試將它們從背景中抹去。
var solidBitmapData = new BitmapData(550,400,true,0x000000);
var mySpriteLayer = new Sprite();
// Create black background.
mySpriteLayer.graphics.beginFill(0x000000);
mySpriteLayer.graphics.drawRect(0,0,550,400);
mySpriteLayer.graphics.endFill();
// Draw it to bitmap data.
solidBitmapData.draw(mySpriteLayer);
// Clear sprite.
mySpriteLayer.graphics.clear();
// Draw two circles
mySpriteLayer.graphics.beginFill(0xFF0000);
mySpriteLayer.graphics.drawCircle(200,200,50);
mySpriteLayer.graphics.endFill();
mySpriteLayer.graphics.beginFill(0xFF0000);
mySpriteLayer.graphics.drawCircle(250,200,50);
mySpriteLayer.graphics.endFill();
// Draw circles to bitmap with blend mode erase.
solidBitmapData.draw(mySpriteLayer,null,null,BlendMode.ERASE);
// Create bitmap and add to stage.
var solidBitmap = new Bitmap(solidBitmapData);
addChild(solidBitmap);
我說的是在圓的中間線。這似乎是與線型有關,但我已經嘗試將其設置爲零和α爲0,但我無法擺脫線條。
任何想法?
完美。我確信我已經嘗試過,但一定錯過了它,因爲它完美無缺。 – Ben 2012-03-23 15:30:26
關於爲什麼實際上使其工作的任何洞察力?我認爲這是我見過的最明顯的修復之一:D – divillysausages 2012-03-23 22:39:37
@divillysausages再次檢查我的答案。 – Engineer 2012-03-24 07:45:22