#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. Также спасибо, и я добавил эту ссылку в закладки 🙂 однако для этого проекта мне нужно использовать точные шестнадцатеричные значения, и, похоже, этот метод затруднит получение точного цвета