3
在方法Graphics.lineStyle()
中,您傳遞了alpha作爲第三個參數。我不想改變前兩個參數的厚度或顏色,所以有什麼辦法可以改變阿爾法?或至少「獲得」厚度和顏色,所以我可以重新通過他們,所以他們不會改變?AS3:Graphics.lineStyle() - 僅更改ALPHA?
謝謝!
在方法Graphics.lineStyle()
中,您傳遞了alpha作爲第三個參數。我不想改變前兩個參數的厚度或顏色,所以有什麼辦法可以改變阿爾法?或至少「獲得」厚度和顏色,所以我可以重新通過他們,所以他們不會改變?AS3:Graphics.lineStyle() - 僅更改ALPHA?
謝謝!
一種選擇是將您正在傳遞的圖形對象封裝起來,併爲各個屬性添加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);
}
}
你繼承的東西,你沒有源代碼?我問,因爲通常*你*設置阿爾法,厚度等,所以你可以緩存這些值 – jedierikb 2010-01-19 17:27:37
是的我擴展了一個類傳遞一個Graphics對象來繪製,已經有一個lineStyle設置。我只想改變alpha。 – 2010-01-19 17:35:22