Может ли кто-нибудь выяснить, как избежать просмотра строк при использовании BlendMode.ERASE в AS3?Странное поведение при использовании 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);
Я говорю о линии в середине кругов. Кажется, что-то связано с linestyle, но я пробовал установить его на ноль, а альфа - на 0, но я не могу избавиться от строк.
Любые идеи?
Perfect. Я был уверен, что пробовал это, но, должно быть, пропустил его, потому что он работал отлично. – Ben
любое понимание того, почему это действительно заставляет его работать? Я думаю, что это одно из самых очевидных исправлений, которые я когда-либо видел: D – divillysausages
@divillysausages Еще раз проверьте мой ответ. – Engineer