jed*_*ikb 4 flash actionscript actionscript-3
如果我有一个精灵,我已经绘制了一些东西,我该如何删除我绘制的部分内容?我最好可以使用drawRect()一些"alpha = 0"颜料.
但是,我不相信这种beginFill()方法可以让你设置RGBA颜色(就像你可以bitmapData).alpha = 0在图形方法中设置beginFill()并没有真正做任何事情 - 它只是没有任何东西.
在我的特定用例中,掩码不是一种选择.
此外,呼叫clear()不是一个好的解决方案,因为它清除了一切.
Ros*_*son 10
如果您不需要能够与Sprite下面的任何元素进行交互,那么您可以很好地实现这一点.
去做这个
cacheAsBitmap属性设置为truecacheAsBitmap属性设置为trueblendModeShape 的属性设置为BlendMode.ERASE不幸的是,你不能完全按照你希望用Graphics类做的.虽然擦除可能意味着你绘制了已经用背景颜色绘制的东西,但我猜你希望"将透明度"绘制回到Graphics对象上.使用0的alpha绘制并不是"没有" - 你只是看不到你画的是因为它是完全透明的.
这是使用向量而不是位图的方法."擦除"矢量的一部分意味着您正在创建一个全新的矢量,这将需要一些计算,而不是仅仅将某个像素设置为某个颜色值.图形不提供这样的高级功能,但您可以编写自己的功能来执行此操作.:P
一种解决方法是改为使用位图:
http : //www.actionscript.org/forums/showthread.php3?t = 187857
http://www.actionscripts.org/forums/showthread.php3?t=149021
另一个是考虑你是否可以用不同的方式实现你想要做的事情; 一个适合使用clear()的人.