【发布时间】:2014-01-22 15:40:58
【问题描述】:
我有一个名为“BlueBox”的影片剪辑实例,它只是一个蓝色的“绘图对象”。它在一个名为“option1MC”的容器内,该容器位于舞台上的“option1Container”内。它的颜色可以像这样更改:
option1Container.addEventListener(MouseEvent.MOUSE_OVER, option1ContainerOver);
var optionOver:ColorTransform = new ColorTransform();
optionOver.color = 0xC56516;
function option1ContainerOver(evt:Event):void {
option1Container.option1MC.BlueBox.transform.colorTransform = optionOver;
}
我想将颜色更改为渐变。这是我尝试过的:
var mtr:Matrix = new Matrix();
mtr.createGradientBox(option1Container.option1MC.BlueBox.width, option1Container.option1MC.BlueBox.height, 0, 0, 0);
mtr.graphics.beginGradientFill(GradientType.LINEAR, [0xFF0000, 0x0000FF], [1, 1], [0x00, 0xFF], mtr);
mtr.graphics.drawRect(0,0,option1Container.option1MC.BlueBox.width, option1Container.option1MC.BlueBox.height);
但是,现在当我运行 .fla 文件时,我给我一个错误提示:
Access of possible undefined property graphics through a reference with static type flasg.geom:Matrix:
指的是行
mtr.graphics.beginGradientFill(GradientType.LINEAR, [0xFF0000, 0x0000FF], [1, 1], [0x00, 0xFF], mtr);
mtr.graphics.drawRect(0,0,option1Container.option1MC.BlueBox.width, option1Container.option1MC.BlueBox.height);
知道为什么吗?
【问题讨论】:
-
因为
Matrix不是带有graphics成员的DisplayObject。
标签: actionscript-3 flash matrix gradient