在方法Graphics.lineStyle()中,您将alpha作为第三个参数进行传递。我不想改变前两个参数的厚度或颜色,那么有没有一种方法可以只改变alpha呢?或者至少“得到”厚度和颜色,这样我就可以重新传递它们,这样它们就不会改变?
谢谢!!
发布于 2010-01-20 02:00:29
一种选择是包装您传递的图形对象,并为单独的属性添加getter和setter,否则这些属性只能作为参数使用。
伪代码:
public class CustomGraphics
{
// -- here is the wrapped graphics object
protected var _graphics:Graphics;
// -- unique properties for line style
protected var _lineColor:uint;
protected var _lineThickness:int;
protected var _lineAlpha:Number;
public function CustomGraphics( gfx:Graphics )
{
_graphics = gfx;
_lineColor = 0;
_lineThickness = 1;
_lineAlpha = 1;
draw();
}
public function set lineAlpha( value:Number ):void
{
if( _lineAlpha != value ) {
_lineAlpha = value;
// -- insert code to redraw or invalidate here
draw();
}
}
public function draw():void {
_graphics.setLineStyle( _lineThickness, _lineColor, _lineAlpha );
}
}https://stackoverflow.com/questions/2095408
复制相似问题