AS3でBlendMode.ERASEを使用しているときに、ラインの表示を避ける方法はありますか?AS3でBlendMode "erase"を使用したときの異常な動作
ここは例です。私はステージに黒い背景を描き、スプライトに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);
Iは、円の真ん中にラインについて話しています。私はそれを0に設定しようとしましたが、0にアルファを設定しようとしましたが、私はラインを取り除くことができません。
アイデア?
パーフェクト。私はそれを試したと確信していましたが、完璧に働いたので、それを逃してしまったに違いありません。 – Ben
なぜそれが実際に動作するのかについての洞察はありますか?私はそれが私が今まで見た中で最も不確実な修正の一つだと思う:D – divillysausages
@divillysausagesもう一度私の答えを確認してください。 – Engineer