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

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

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

Регистрация: Jan 2011
Сообщений: 247
По умолчанию Работа с mask'oй

Здравствуйте, подскажите пожалуйста как:
- определить % отображаемой маски ?
- сделать края нанесения с альфой ?

у меня есть такой пример :
Код AS3:
        var currentItemForFace:MovieClip = new MovieClip();
        var unclean:MovieClip;
        unclean = Face_ugle as MovieClip;
        unclean.x = 180;
        unclean.y = 100;
        GreatSprite.addChild(unclean);
        GreatSprite.addEventListener(MouseEvent.MOUSE_MOVE, makeCleanStep1);
        var clean:MovieClip;
        clean = Face_smile as MovieClip;
        clean.x = 180;
        clean.y = 100;
        GreatSprite.addChild(clean);
        addChild (currentItemForFace);
        clean.mask = currentItemForFace;
        currentItemForFace.graphics.moveTo (mouseX, mouseY);
 
    private function makeCleanStep1 (e:MouseEvent):void {
        currentItemForFace.graphics.beginFill(0xff00ff);
        currentItemForFace.graphics.drawCircle(mouseX, mouseY, 20);
        currentItemForFace.graphics.endFill();
    }
Например я не везде поводил по картинке, и хочу знать сколько % я закрасил, как это реализовать ?
как видно с кода рисуется четким кругом а хотелось бы что бы края были прозрачные чтоб убрать эту сильную резкость .

Старый 11.07.2014, 15:47
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 2  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
1. вычислять
2. используй blendMode (BlendMode.ALPHA/BlendMode.ERASE/BlendMode.LAYER)

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

Регистрация: Jan 2011
Сообщений: 247
Цитата:
Сообщение от Nooob Посмотреть сообщение
1. вычислять
ну это было предвидено

Цитата:
Сообщение от Nooob Посмотреть сообщение
2. используй blendMode (BlendMode.ALPHA/BlendMode.ERASE/BlendMode.LAYER)
Не один из них не дал желаемого ефекта , только LAYER я так и не понял что он дает на практике изменений не увидел

Старый 11.07.2014, 17:52
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 4  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Всё там можно сделать, просто нужно правильно готовить маску.
Зачем LAYER:
Цитата:
BlendMode.ERASE - Стирает фон на основе альфа-значения экранного объекта. Для этого требуется, чтобы настройке blendMode родительского экранного объекта было задано значение BlendMode.LAYER.

Старый 11.07.2014, 19:03
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 5  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Цитата:
- определить % отображаемой маски ?
это сложная математическая фигня.
тебе придется считать закрашенные пиксели, это самый простой вариант. http://habrahabr.ru/post/192272/

можешь работать с полигонами, там надо только OR и находить площадь

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

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

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


 


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


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