![]() |
|
||||||||||
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
Добрый день.Хотел спросить как с помощью твина сделать такое:
например нужно чтобы мувик менял свой цвет плавно к чёрному, но неизвестно насколько % он сейчас черный. То есть ситуация такая:при наведении он плавно меняется к белому например,при отведении к белому. Мне нужна лишь строчка с твином.спасибо ![]()
__________________
www.haiatov.ru |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
За вас я писать не буду, но подсказать могу.
Вам надо завести переменную, которую твин будет менять от 0 до 100, и на событие onMotionChanged менять через Color.setTransform составляющие исходя из значений вашей перменной. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Пример из Хелпа по изменению яркости:
import flash.filters.ColorMatrixFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
System.security.allowDomain("http://www.helpexamples.com");
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip):Void {
// center movie clip instance on Stage
target_mc._x = (Stage.width - target_mc._width) / 2;
target_mc._y = (Stage.height - target_mc._height) / 2;
target_mc.watch("brightness", brightnessWatcher, target_mc);
// animate the target_mc movie clip between -100 and +100 brightness
var myTween:Tween = new Tween(target_mc, "brightness", Elastic.easeOut, 100, -100, 3, true);
myTween.onMotionFinished = function() {
this.yoyo();
};
};
this.createEmptyMovieClip("img_mc", 10);
var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(mclListener);
img_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", img_mc);
function brightnessWatcher(prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Number {
var brightness_array:Array = [1, 0, 0, 0, newVal,
0, 1, 0, 0, newVal,
0, 0, 1, 0, newVal,
0, 0, 0, 1, 0];
target_mc.filters = [new ColorMatrixFilter(brightness_array)];
return newVal;
};
__________________
john |
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
Спасибо.Я не просил писать Вас мне код.просто я ни разу не работал с tween и поэтому не знаю её методов всяких и переменных которые надо внутри писать.И поэтому поппросил Вас написать мне сам tween.Спасибо. Разберусь сам
но пока ждал ответат от одного человека сдела всё проще под чёрным разместил белый.И просто менял прозрачность![]()
__________________
www.haiatov.ru |
|
|||||
|
Может кому надо будет, на основе найденных тут материалов скрестил, ежа и ужа в результате получил довольно неплохой скриптик:
import flash.filters.ColorMatrixFilter; import mx.transitions.Tween; import mx.transitions.easing.*; var r:Number = 77/255; // собсна цвета var g:Number = 150/255; // собсна цвета var b:Number = 25/255; // собсна цвета var mclListener:Object = new Object(); mclListener.onLoadInit = function(target_mc:MovieClip):Void { // center movie clip instance on Stage target_mc._x = (Stage.width - target_mc._width) / 2; target_mc._y = (Stage.height - target_mc._height) / 2; target_mc.watch("grayscale", grayscaleWatcher, target_mc); // animate the target_mc movie clip between 0 and 1 grayscale // 1 - серый спектр, 0 цветной. var myTween:Tween = new Tween(target_mc, "grayscale", None.easeOut, 0, 1, 1, true); target_mc.onRollOver = function() { var myTween:Tween = new Tween(this, "grayscale", None.easeOut, this.grayscale, 0, 1, true); } target_mc.onRollOut = function() { var myTween:Tween = new Tween(this, "grayscale", None.easeOut, this.grayscale, 1, 1, true); } }; this.createEmptyMovieClip("img_mc", 10); var img_mcl:MovieClipLoader = new MovieClipLoader(); img_mcl.addListener(mclListener); img_mcl.loadClip("inno_error.jpg", img_mc); // указываем картинку.. function grayscaleWatcher(prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Number { target_mc.filters = [new ColorMatrixFilter([r * newVal + 1 - newVal, g * newVal, b * newVal, 0, 0, r * newVal, g * newVal + 1 - newVal, b * newVal, 0, 0, r * newVal, g * newVal, b * newVal + 1 - newVal, 0, 0, 0, 0, 0, 1, 0])]; return newVal; }; |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 357
|
а какой аналог свойства watch в AS3?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Пользуйтесь геттерами и сеттерами.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|