PDA

Просмотр полной версии : Програмное добавление Bevel фильтра


Dragon rideR
09.07.2009, 17:03
Подскажите пожалуйста никак не могу прицепить программно фильтр бевел к клипам
import flash.filters.BevelFilter;
stop();
standart_colors = new Array();
standart_colors.push("FFFFFF");
standart_colors.push("010000");
standart_colors.push("FE0000");
standart_colors.push("FFFF00");
standart_colors.push("006600");
standart_colors.push("010068");
standart_colors.push("999800");
for (i=0; i<standart_colors.length; i++) {
t = this["s"+i];
t.my_color = new Color(t);
color = "0x"+standart_colors[i];
t.my_color.setRGB(color);
var bevel:BevelFilter = new BevelFilter(5, 126, 0xCCFFAB, 50, 0x000000, 50, 2, 2, 50, 1);
var myFilters:Array = t.filters;
myFilters.push(bevel);
t.filters = myFilters;
}
никак не получается ( Исходник прикладываю

iNils
09.07.2009, 17:05
уберите t.my_color.setRGB (color)

Dragon rideR
09.07.2009, 17:10
Спасибо заработало, но нужно чтобы сначала цвет изменил у всего мувика и затем наложить на него фильтр. Что совмещать нельзя?

iNils
09.07.2009, 17:18
Видимо нет. Могу предложить только создание двух вложенных клипов. У внутреннего меняете цвет, у внешнего - бевел.

Dragon rideR
09.07.2009, 17:21
ух блин проблемка.... может тогда есть другой вариант кроме setRGB изменить цвет всего мувика?

dimarik
09.07.2009, 19:30
Используйте ColorMatrixFilter и BevelFilter вместе

var bevel:BitmapFilter = new BevelFilter(5, 126, 0xCCFFAB, 50, 0x000000, 50, 2, 2, 50, 1);

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

var color:BitmapFilter = new ColorMatrixFilter(matrix);

t.filters = new Array(color, bevel);

UPD. Прошу прощения за оффтоп, но слово "програмное" всегда писалось (http://gramota.ru/slovari/dic/?word=%EF%F0%EE%E3%F0%E0%EC%EC%ED%EE&all=x) с двумя букафками "м"