这是我的代码:
private function drawRect():Sprite{
var rect:Sprite = new Sprite();
rect.name = "rectName";
rect.graphics.beginFill(0xffff00);
rect.graphics.lineStyle(1,0x000000);
rect.graphics.drawRect(0,0,6,6);
rect.graphics.endFill();
rect.addEventListener(MouseEvent.MOUSE_OVER, changeColor);
rect.addEventListener(MouseEvent.MOUSE_OUT, changeColorBack);
return rect;
}
private function changeColor(e:MouseEvent):void{
var newColor:ColorTransform = new ColorTransform();
newColor.color = 0x00ffff;
e.target.transform.colorTransform = newColor;
}
private function changeColorBack(e:MouseEvent):void{
var newColor:ColorTransform = new ColorTransform();
newColor.color = 0xffff00;
e.target.transform.colorTransform = newColor;
}
changeColor 和 changeColorBack 函数有效,但不是我想要的。它们改变了我的 Sprite 的整个颜色,包括矩形周围的线条边框(笔触)。我只想更改矩形内的颜色并保持矩形的边框。我在 ColorTransform 中没有看到允许我指定 lineStyle 的属性,所以有没有不同的方法来更改我的矩形的填充颜色并保持它周围的边框?