在As3

时间:2015-06-30 02:07:32

标签: actionscript-3 flash actionscript

我想在其上制作黑色矩形(称为R_1)和白色文本(称为T_1的文本字段)。之后,矩形R_1应缓慢降低高度,并且(T_1)从白色变为黑色。

这是一个例子 http://postimg.org/image/6tuswaugf/ enter image description here

1 个答案:

答案 0 :(得分:4)

这可以通过混合模式轻松完成。我不知道你已经知道了多少,因为你没有显示任何代码工作,但你可以在下面尝试这个并向Google或Google询问任何问题:

您必须使用名为INVERT的{​​{3}}。混合模式仅适用于MovieClips和Bitmaps。因此,请确保您的项目(文本,矩形等)位于MovieClip容器内(使用addchild)。

这里需要三个容器。一个用于背景画布(白色),一个用于文本(黑色),另一个用于调整大小的矩形。

1)将新的MovieClip设为Canvas。它应该是白色背景(所以可能在那里添加一个白色矩形形状。这里绿色框有助于查看白色画布区域的位置。)
enter image description here
2)将新的MovieClip设为文本持有者。这包含黑色字体颜色的文本。所以最终的外观应该是白色背景上的黑色文字 enter image description here
3)将新的MovieClip设为Rectangle。这有一个相同宽度的黑色填充矩形。高度为Canvas。为此MovieClip提供INVERT的混合模式。要在代码中使用instanceName.blendMode = BlendMode.INVERT; instanceName 替换为您自己的黑色矩形MovieClip的实例名称
enter image description here


4)使用新的较小尺寸矩形进行测试。
enter image description here

这是有效的,因为我们在背景和文本图层上方的图层上有一个黑色矩形。因此,通过赋予最高矩形INVERT模式,这意味着其区域下方的每个像素颜色必须与其自身相反。