PDA

Просмотр полной версии : Какой способ задания brigtness клипа менее ресурсоемкий?


dark256
05.01.2014, 00:41
Ресурсоемкий - в смысле нагрузки процессора.
CRAFT - клип с картинкой.

v.1.

import flash.geom.Transform;
import flash.geom.ColorTransform;

var dat = dat_in/100 // 0..1

var transformer:Transform = new Transform( CRAFT );
var colorTransformer:ColorTransform = transformer.colorTransform;
colorTransformer.redMultiplier = dat
colorTransformer.greenMultiplier = dat
colorTransformer.blueMultiplier = dat
transformer.colorTransform = colorTransformer;

HOVER_LIGHT_V2.swf

v.2.
import flash.filters.ColorMatrixFilter;

var dat = dat_in //-255..0

var myElements_array:Array = [1, 0, 0, 0, dat,
0, 1, 0, 0, dat,
0, 0, 1, 0, dat,
0, 0, 0, 1, 0];
var myColorMatrix_filter:ColorMatrixFilter = new ColorMatrixFilter(myElements_array);
CRAFT.filters = [myColorMatrix_filter];
HOVER_LIGHT.swf

По идее первый способ работает правильнее. Без уконтращивания.... хм.....

Кот Баюн
06.01.2014, 09:36
То есть brightness задать без flash.filters невозможно?

samana
06.01.2014, 14:02
Возможно. Там же выше два примера, первый с помощью colorTransform.

Hauts
06.01.2014, 18:46
dark256, а в чем вопрос? Если в сравнении, то можно просто тестик сделать.

Кот Баюн
06.01.2014, 22:38
Возможно. Там же выше два примера, первый с помощью colorTransform.
Забавно. Мне один программист утверждал, что никак иначе невозможно.
Я не поверил. Ну как-то ведь до классов "фильтров" умели менять яркость?!

Вообще ответ на свой вопрос я нашел почти сразу.
У меня есть неплохие исходники, оставшиеся еще со времен Flash 7.
Тогда фильтров еще не существовало в природе.
Я порылся и нашел исходник по регулировке RGB старым методом.


Полагаю, он действительно меньше грузит процессор.
Особенно ощутимой станет нагрузка, если применять несколько фильтров разом.

dark256
07.01.2014, 03:51
dark256, а в чем вопрос? Если в сравнении, то можно просто тестик сделать.

НУ вот лень мне тесты городить. Просто спросил.... Может быть есть еще способы...

Добавлено через 56 секунд

У меня есть неплохие исходники, оставшиеся еще со времен Flash 7.
Тогда фильтров еще не существовало в природе.
Я порылся и нашел исходник по регулировке RGB старым методом.
Полагаю, он действительно меньше грузит процессор.

А код в студию можно попросить? :)

Hauts
07.01.2014, 09:30
Можно сделать твин на 100 кадров с изменением brightness и, соответственное, gotoAndStop() на нужный кадр :)

Ну это так, для кучи способов.

Кот Баюн
07.01.2014, 12:22
dark256
посмотрите.

Кот Баюн
07.01.2014, 13:10
Можно сделать твин на 100 кадров с изменением brightness и, соответственное, gotoAndStop() на нужный кадр

Не очень удобный способ. Надо создавать еще один клип-контейнер. А если их и так до кучи, то клип в клипе и еще раз в клипе уже доставляет капитальную мороку.
Программно все же лучше.))

dark256
08.01.2014, 13:24
О! Спасибо! Попробую. Неожиданно :) Туда-то я глянуть и забыл - в color :)

Кот Баюн
10.01.2014, 18:21
dark256,
И как там? Получилось?