Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Эффект запотевания "стекла" (http://www.flasher.ru/forum/showthread.php?t=140147)

ekeeper 21.05.2010 16:26

Эффект запотевания "стекла"
 
Привет. Суть задачи такова:

Есть мувиклип/битмап, залитый одним цветом. Нужно сделать две вещи - чтобы в этом мувиклипе можно было протирать мышкой дырки, и чтобы они со временем "запотевали".

Чтобы в итоге получился эффект запотевшего стекла. Когда мы по нему рукой проводим - оно в том месте прозрачное, но со временем оно запотевает плавно.

Вот как сделать протирание - я знаю, а как сделать "запотевания" - нет.

Была идея идея сделать 10 мувиклипов (alpha для каждого = 0.1) друг на друга наложенных, "протирать" их все и с течением времени сначала один, самый дальний, заливать полностью исходным цветом, потом следующий итд. Только этот способ сильно тормозит... может как-то можно попроще...

Может кто что-то подобное делал?

Hidest 21.05.2010 16:57

А кто вам мешает изменять плавно alpha только у одного клипа?

ekeeper 21.05.2010 17:13

так я в нем буквально дырки сделаю - я стираю часть него - теперь мне надо чтобы эти стертые части обратно плавно залились исходным цветом

mexoboy 21.05.2010 17:20

2ekeeper а маски уже не в моде?

ekeeper 21.05.2010 17:31

Маской дырки и выпиливаю. Не могу придумать, как через них заливать плавно.

Zebestov 21.05.2010 17:52

делай маску не буквально "маской". сделай некий контейнер, в котором при нажатии создавай новый экземпляр, в котором будешь рисовать "пальцем" пятно/полосу, а при отпускании запускать процесс его медленного исчезновения и удаления себя, когда достигнем значения alpha=0. так у тебя получится для каждой "мазяки" своя анимация исчезновения. ну и под конец клади этот контейнер на картинку по BlendMode.ERASE. так у тебя получатся дырки в незапотевшем изображении. оберни контейнер-маску и незапотевшее изображение под ним в новый спрайт с BlendMode.LAYER и подложи еще ниже запотевшее изображение, которое и будет просвечивать сквозь дырки.

ekeeper 21.05.2010 18:12

Спасибо, попробую :)

-De- 21.05.2010 18:15

Вложений: 1
Код AS3:

bd.draw(ss, null, ss.transform.colorTransform, "add");
bd.draw(eraser, eraser.transform.matrix, null, "erase");

Проще сделать, чем обьяснить %)

ekeeper 21.05.2010 18:22

Странно, что-то Fla не работает :))) просто жабу показывает и все :)))

КорДум 21.05.2010 18:24

Хороший пример, но не пишите в кадрах, гадость.


Часовой пояс GMT +4, время: 21:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.