|
Страница 1 из 1 [ Сообщений: 8 ] |
Автор |
Сообщение |
Майк
новый человек
|
|
Господа, помогите, пожалуйста, реализовать такой эффект во флеше:
- есть две картинки одна под другой, в разных слоях;
- курсор в виде стирательной резинки, круглый (это знаю, как сделать)
- при нажатии ЛКМ (onPress, onMouseMove) верхняя картинка как бы стирается, и под ней видна другая картинка, сымитировать эффект стирки, вобщем.
Можно ли как-то с помощью маски сделать? программно дорисовывать в слой к маске объекты?
Есть вообще какие-то идеи?
если уже давно все придумано, поделитесь линком, плиз.
Заранее спасибо.
|
|
|
|
|
eddy444
Модератор
|
|
поверх или пониз в случае программной маски (а тут нужна именно такая) уже несущественно
немного расшифрую - программно задаете маску вашей картинке
pictureclip.setMask(mаskaclip);
в mаskaclip организуете добавление клипов по форме вашей резинки, например кружочков, методом дупликейт или аттач в текущщие координаты курсора по ентерфрейм.
|
|
|
|
|
ctrlaltdel
соучастник
|
|
eddy444, тоже сталкивался с подобными багами при использовании сложной маски срабатывало по неизвестному принципу и маскировало - совсем не то что надо …
пришлось упрощать саму маску
_________________ Вы смеётесь над нами , потому что мы отличаемся от вас,
а мы смеёмся над вами, потому что вы НЕ отличаетесь друг
от друга
|
|
|
|
|
Sector
соучастник
|
|
Я тоже сначала не врубился в этот баг, разобрался, а позднее использовал как фичу
//создаем мувики
this.createEmptyMovieClip("img",0)
img.lineStyle(0,0x00000,0);
img.beginFill(0xff00ff,100)
img.moveTo(0,0)
img.lineTo(300,0)
img.lineTo(300,300)
img.lineTo(0,300)
img.endFill()
this.createEmptyMovieClip("mask",1)
//маскируем
img.setMask(mask)
//рисуем в маске первый прямоугольник, по часовой стрелке
mask.beginFill(0x000000,100)
mask.moveTo(30,30)
mask.lineTo(180,30)
mask.lineTo(180,180)
mask.lineTo(30,180)
mask.endFill()
//рисуем в маске второй прямоугольник, по часовой стрелке
mask.beginFill(0x000000,100)
mask.moveTo(140,60)
mask.lineTo(270,60)
mask.lineTo(270,270)
mask.lineTo(140,270)
mask.endFill()
//рисуем третий против часовой стрелки
mask.beginFill(0xff0000,100)
mask.moveTo(80,90)
mask.lineTo(80,170)
mask.lineTo(190,170)
mask.lineTo(190,90)
|
|
|
|
|
|
Страница 1 из 1 [ Сообщений: 8 ] |
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
|
|