actionscript-3 – 在flash AS3中使用BlendMode“erase”时的奇
发布时间:2020-12-15 07:24:37 所属栏目:百科 来源:网络整理
导读:任何人都可以在AS3中使用BlendMode.ERASE时如何避免看到线条? 这是一个例子.我在舞台上绘制了一个黑色背景,然后将2个重叠的圆圈绘制成一个精灵,并尝试从背景中删除它们. var solidBitmapData = new BitmapData(550,400,true,0x000000); var mySpriteLayer =
任何人都可以在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,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,50); mySpriteLayer.graphics.endFill(); // Draw circles to bitmap with blend mode erase. solidBitmapData.draw(mySpriteLayer,null,BlendMode.ERASE); // Create bitmap and add to stage. var solidBitmap = new Bitmap(solidBitmapData); addChild(solidBitmap); 我在谈论圈子中间的线条.这似乎与linestyle有关但我已经尝试将其设置为零并将alpha设置为0但我无法摆脱线条. 有任何想法吗? 解决方法
您需要将’mySpriteLayer’的cacheAsBitmap属性设置为’true’:
mySpriteLayer.cacheAsBitmap = true; 由于混合模式对像素执行计算,因此与光栅数据相比,它比矢量数据更精确. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |