Как изменить цвет мувиклипа? - PullRequest
1 голос
/ 06 января 2010

С Новым 2010 годом всех:) Просто возвращаюсь в канавку Flash и задаю простой вопрос.

У меня есть фильм (видеоплеер), в котором цвет кнопок меняется. Я уже нарисовал кнопки и создал 1 цветную рамку (movieClip), которая будет фоном для всех кнопок.

Я использовал ColorTransform, чтобы изменить цвет прямоугольника, который я использовал для создания кода, но как проще всего изменить цвет в мувиклипе, содержащем графику, которую вы физически нарисовали.

Путь к мувиклипу, который мне нужно изменить для значения HEX: controls.btn_Sound.colorChip

Ответы [ 2 ]

2 голосов
/ 06 января 2010

Если 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()

Это очень простой способ сделать это. Возможно, вы захотите очистить его каждый раз, когда вы переключаете цвета, и, возможно, измените стиль линии. Посмотрите класс Graphics и API Drawing в документах AS3, это должно помочь прояснить это.

2 голосов
/ 06 января 2010

Я использовал ColorMatrixFilter для изменения цветовых свойств моих спрайтов, MC:

пример:

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];

вот, ссылка на хороший гид

...