flash actionscript 3.0隐藏图像的一部分

时间:2014-12-10 08:58:26

标签: actionscript-3 flash

我正在使用具有多个声道的闪光混音器应用程序,而我在音量旋钮旁边的灯光时遇到问题。

有没有办法隐藏图像的一部分?

在下图中,图像-2位于图像1的顶部以创建某种音量指示器效果,并且显示图像-2的大小取决于音量的值。

image-url:http://s30.postimg.org/r3ow1g5bl/volume_lights_level.png

我尝试过降低图像2的高度,但它看起来很糟糕且失真。

Flash中是否存在与CSS行为密切相关的内容。

示例:我只是将图像2设为形状的背景,当我减小形状的高度时,图像背景不会变形或将其高度更改为好。

通过搜索解决方案,我遇到了掩码属性,但我不太了解它是如何工作的,并且显示的大部分示例都是放在圆圈内的图像。

在这种情况下,mask属性是否适用?

我对flash很新,所以我还不了解很多东西。

2 个答案:

答案 0 :(得分:1)

你确实可以使用面具。

如何以编程方式创建蒙版

在舞台上放置一个名为myImage的图像,并在此次出现时放置一个名为myMask且具有相同尺寸的面具。您可以使用my mask property将myMask蒙版应用于myImage,如下所示:

主时间轴

myImage.mask = myMask;

function mouseMoveHandler(e:MouseEvent):void {
    myMask.height = myImage.y - e.stageY;
}

stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);

您只需在单击按钮的功能中将此代码调整为动画。

答案 1 :(得分:0)

我现在开始工作了,很多感谢@ VC.One。继承人我是怎么做到的。

将img-2导入舞台,将其转换为符号(类型:Movie Clip),分配实例名称:img2_mc。

我为蒙版创建了一个新图层,使用矩形工具绘制了一个矩形,并将其转换为符号(类型:Movie Clip),分配实例名称:mask_mc。

然后将掩码应用于img2_mc。

/ *代码* /
img2_mc.mask = mask_mc;

function onEnterFrame(event:Event):void{
    var volumeKnob_y = volSliderKnobOn.y + 12; //将其调整到旋钮的中心

mask_mc.height = volumeKnob_y;

}