Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.11.2008, 20:19
NVer вне форума Посмотреть профиль Отправить личное сообщение для NVer Найти все сообщения от NVer
  № 1  
Ответить с цитированием
NVer

Регистрация: Nov 2008
Сообщений: 4
По умолчанию Эффект стирания слоя

Всем привет.
Задача: создать эффект "стирания слоя", например эффект курсора-ластика. Как это реализовать? Понятное дело, с помощью маски. А как сделать рисование этих самых "дырок" на слое-маске? Приходит в голову attachMovie на слое-маске в том месте, где находится курсор. Или, может быть, можно реализовать программным рисованием? Достаточно "дырок" простой круглой формы. Подскажите, пожалуйста.

Старый 26.11.2008, 21:14
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 2  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от NVer Посмотреть сообщение
Как это реализовать? Понятное дело, с помощью маски.
Не понятное.
__________________
скриптограф

Старый 26.11.2008, 21:30
NVer вне форума Посмотреть профиль Отправить личное сообщение для NVer Найти все сообщения от NVer
  № 3  
Ответить с цитированием
NVer

Регистрация: Nov 2008
Сообщений: 4
Цитата:
Не понятное.
Гмм...Ну я вижу это так:
Делаем три слоя. На самом нижнем слое — изображение, которое у нас должно выглядеть самым верхним, то есть то, что именно мы стираем. На среднем слое — то изображение, которое будет выглядывать из-под стираемого слоя. Средний слой маскируется самым верхним слоем, то есть сначала его не видно. Таким образом, вначале мы видим нижний слой(он как будто у нас самый верхний). Далее, после того как мы добавляем изображения на слой-маску, они проявляют средний слой, то есть получается как бы дырка. Так вот, вопрос в том, как добавлять изображения на слой-маску.

То есть, грубо говоря, как реализовать "рисование" курсором.

Старый 26.11.2008, 22:01
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
http://www.flasher.ru/forum/attachme...2&d=1184704313
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 26.11.2008, 22:57
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 5  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
"Не понятное." в том смысле, что можно, например, "прожигать" наложенный сверху битмэп, т.е. маскирование - это ваш выбор, коий не является абсолютной истиной...))
__________________
скриптограф

Старый 27.11.2008, 11:48
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 6  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от NVer Посмотреть сообщение
Всем привет.
Задача: создать эффект "стирания слоя", например эффект курсора-ластика.
Я решил задачу так:
Создал "бутерброд" из двух клипов. На нижнем рисунок, В верхнем "рисуем-стираем". Внизу слева палитра размеров "резинки".
Это переделанный кусок кода из готовой рисовалки, поэтому возможно что-то лишнее. Я желал показать принцип.
Вложения
Тип файла: rar eraser.rar (114.5 Кб, 197 просмотров)

Старый 28.11.2008, 19:06
NVer вне форума Посмотреть профиль Отправить личное сообщение для NVer Найти все сообщения от NVer
  № 7  
Ответить с цитированием
NVer

Регистрация: Nov 2008
Сообщений: 4
Большое спасибо всем, кто ответил!

Скажите, пожалуйста, а если задача реализована таким способом:
Код AS1/AS2:
// у меня используется градиентная маска
pic.cacheAsBitmap = true;
this.createEmptyMovieClip("msk", _root.getNextHighestDepth());
msk.cacheAsBitmap = true;
pic.setMask(msk);
mon = false;
i = 0;
c.onMouseDown = function ()
{
    if (c.hitTest(_xmouse, _ymouse, true) == false)
    {
        mon = false;
    }
    else
    {
        mon = true;
    }
};
c.onMouseUp = function ()
{
    mon = false;
};
this.onEnterFrame = function ()
{
    if (mon)
    {
        a = this.msk.attachMovie("brush", "b" + i, this.msk.getNextHighestDepth());
        a._x = this._xmouse;
        a._y = this._ymouse;
    }
};
то как можно быстро удалить все приаттаченные мувики, то есть привести всё в исходное состояние?

Старый 28.11.2008, 22:49
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Оболдеть))) Извините)))
Код AS1/AS2:
c.onMouseDown = function ()
{
    if (c.hitTest(_xmouse, _ymouse, true) == false)
    {
        mon = false;
    }
    else
    {
        mon = true;
    }
};
Это вроде как
Код AS1/AS2:
c.onMouseDown = function ()
{
    mon = c.hitTest(_xmouse, _ymouse, true)
}
А удалить - ну конечно msk удалить и создать новый.

Добавлено через 3 минуты
Да, еще
Код AS1/AS2:
this.createEmptyMovieClip("msk", _root.getNextHighestDepth());
Если this != _root то Вы рискуете не получить никакого msk.
__________________
Reality.getBounds(this);

Старый 28.11.2008, 23:39
NVer вне форума Посмотреть профиль Отправить личное сообщение для NVer Найти все сообщения от NVer
  № 9  
Ответить с цитированием
NVer

Регистрация: Nov 2008
Сообщений: 4
Не обалдевайте, код не мой.
this=root, скрипт в кадре написан

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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