![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 11
|
А по-подробней можно, в частности про вторую строку
|
|
|||||
|
Регистрация: Jul 2006
Сообщений: 11
|
Цитата:
|
|
|||||
|
Modus ponens
|
Вложение 14829
import flash.geom.*
var _l1:MovieClip = _root.createEmptyMovieClip("canvas_mc", 0);
var _l2:MovieClip = _root.createEmptyMovieClip("mask_mc", 10);
var _l3:MovieClip = _root.createEmptyMovieClip("gradient_mc", 5);
with (gradient_mc)
{
colors = [0xFF0000, 0x0000FF];
fillType = "radial"
alphas = [100, 100];
ratios = [0, 0xFF];
spreadMethod = "reflect";
interpolationMethod = "linearRGB";
focalPointRatio = 0.9;
matrix = {a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1};
beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod,
interpolationMethod, focalPointRatio);
moveTo(0, 0);
lineTo(500, 0);
lineTo(500, 500);
lineTo(0, 500);
lineTo(0, 0);
endFill();
}
_l1.beginFill(0x112233, 50);
_l1.moveTo(0, 0);
_l1.lineTo(0, 500);
_l1.lineTo(500, 500);
_l1.lineTo(500, 0);
_l1.lineTo(0, 0);
_l1.endFill();
_l2.attachMovie("brush", "brush_mc", _l2.getNextHighestDepth(), {_x:-20, _y:-20});
_l3.onMouseMove = function(){
var _l4:Number = 0;
_l2.attachMovie("brush", "brush"+_l4+"_mc", _l2.getNextHighestDepth()+_l4, {_x:this._xmouse, _y:this._ymouse});
_l4++;
}
_l3.setMask(_l2);
* вместо клипа с градиентом - ваша картинка. * увы, такой мувик после долгого проигрывания подвесит плеер... есть конечно варианты решения... но муторно, да и не особо-то нужно, с пивом и так покатит =)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 27.04.2008 в 22:15. |
|
|||||
|
Modus ponens
|
Да, вобщем, тоже вариант =) и не плодит кучу клипов, но менее реалистичный =)
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 11
|
Заменил градиент на картинку "back", но почему-то все очень медленно рисуется:
var _l2:MovieClip = _root.createEmptyMovieClip("mask_mc", 10);
_l2.attachMovie("brush", "brush_mc", _l2.getNextHighestDepth(), {_x:-20, _y:-20});
_root.back.onMouseMove = function(){
var _l4:Number = 0;
_l2.attachMovie("brush", "brush"+_l4+"_mc", _l2.getNextHighestDepth()+_l4, {_x:this._xmouse, _y:this._ymouse});
_l4++;
}
_root.back.setMask(_l2);
|
|
|||||
|
Регистрация: Jul 2006
Сообщений: 11
|
Я к тому, что я просто видимо что-то не правильно сделал.
|
|
|||||
|
Modus ponens
|
хех, а как ты собираешся вызывать онмаузмув над клипом, который ты не видишь? =) (ты ж накладываешь маску на клип с картинкой, после чего он практически исчезает =) положи поверху картинки еще один клип (тот, который с карандашным рисунком), вот у него и нужно слушать онмаузмув =)
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 11
|
Почему, все правильно. Т. к. маска наложена на картинку, она не будет вначале видна, но при движении мышки над ней она будет как бы вырисовываться. Если еще вниз положить картинку с карандашным рисунком - как раз и получается эффект раскрашивания.
Ошибка была в другом, в строке _l2.attachMovie("brush", "brush"+_l4+"_mc", _l2.getNextHighestDepth()+_l4, {_x:this._xmouse, _y:this._ymouse});
_l4++;
Всем спасибо, итоговый получившийся код: var myMask:MovieClip = _root.createEmptyMovieClip("mask_mc", _root.getNextHighestDepth());
myMask.attachMovie("brush", "brush_mc", myMask.getNextHighestDepth(), {_x: -100, _y: -100});
_root.back.onMouseMove = function() {
myMask.attachMovie("brush", "brush_mc", myMask.getNextHighestDepth(), {_x: _root._xmouse, _y: _root._ymouse});
}
_root.back.setMask(myMask);
Mouse.hide();
_root.brush2.onMouseMove = function() {
this._x = _root._xmouse;
this._y = _root._ymouse;
}
|
|
|||||
|
Регистрация: Jul 2006
Сообщений: 11
|
Не все так просто оказалось =)
1) Некоторые браузеры не показывают телефон вверхну флешки (http://expert-office.ru/), в частности Explorer. Телефон - это Dynamic Text с фильтром Blur 2) Не получается убрать кисточку с рисунка, после того как мышка покинула пределы флешки |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|