Как изменить цвет видеоролика?

#flash #actionscript-3 #colors #colortransform

#flash #actionscript-3 #Цвет #преобразование цвета

Вопрос:

Всех с Новым 2010 годом 🙂 Просто возвращаюсь в режим Flash и задаю простой вопрос.

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

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

Путь к видеоролику, в котором мне нужно изменить шестнадцатеричное значение: controls.btn_Sound.colorChip

Ответ №1:

Если controls.btn_Sound.colorChip является видеороликом или спрайтом, вы можете использовать drawing API для изменения его графических свойств.

Поэтому вместо:

colorChip=0xCCCCCCCC; btnColor_sound.color= цветной чип;

сделайте это:

 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 рисования в документах AS3, они должны помочь прояснить это.

Ответ №2:

Я использовал ColorMatrixFilter для изменения свойств цвета моих спрайтов, 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];
  

вот вам ссылка на хорошее руководство

Комментарии:

1. Также спасибо, и я добавил эту ссылку в закладки 🙂 однако для этого проекта мне нужно использовать точные шестнадцатеричные значения, и, похоже, этот метод затруднит получение точного цвета