如何更改movieClip的颜色?

时间:2010-01-06 17:52:17

标签: flash actionscript-3 colors colortransform

2010年新年快乐大家:)刚刚回到Flash界面,并提出一个简单的问题。

我有一部电影(视频播放器),按钮的颜色会发生变化。我已经绘制出按钮并创建了一个1色框(movieClip),它将成为所有按钮的背景。

我已经使用ColorTransform来更改我使用代码创建的矩形的颜色,但是在包含您实际绘制的图形的movieClip中更改颜色的最简单方法是什么。

我需要更改HEX值的movieClip的路径:controls.btn_Sound.colorChip

2 个答案:

答案 0 :(得分:2)

我使用ColorMatrixFilter来改变我的Sprites,MCs的颜色属性:

示例:

var matrix:Array = new Array();
matrix=matrix.concat([0.5,0.5,0.5,0,0]);// red
matrix=matrix.concat([0.5,0.5,0.5,0,0]);// green
matrix=matrix.concat([0.5,0.5,0.5,0,0]);// blue
matrix=matrix.concat([0,0,0,1,0]);// alpha
var my_filter:ColorMatrixFilter=new ColorMatrixFilter(matrix);
my_sprite.filters=[my_filter];

在这里,您是a good guide

的链接

答案 1 :(得分:2)

如果controls.btn_Sound.colorChip是MovieClip或Sprite,您可以使用绘图API更改其图形属性。

所以而不是:

colorChip = 0xCCCCCC; btnColor_sound.color = colorChip;

这样做:

controls.btn_Sound.colorChip.graphics.beginFill(colorChip, 1);
controls.btn_Sound.colorChip.lineStyle(1, 0x000000);
controls.btn_Sound.colorChip.drawRect(0, 0, 10, 10); // fill in this with your colorChip's dimensions
controls.btn_Sound.colorChip.endFill()

这是一种非常基本的方法。您可能希望每次切换颜色时都清除它,也许修改线条样式。在AS3文档中查找Graphics类和Drawing API,这些应该有助于澄清这一点。