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

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

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

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Cool Требуется, чтобы маска работала не в режиме add, а в режиме subtract. Возможно ли?

Здравствуйте.
Возникла проблема: требуется чтобы маска работала не в режиме add, а в режиме subtract. Возможно ли сделать такое?

Старый 04.12.2010, 00:46
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
BlendMode.ERASE

Старый 04.12.2010, 12:03
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 3  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Спасибо.

Старый 28.08.2011, 19:09
GenaFly вне форума Посмотреть профиль Отправить личное сообщение для GenaFly Найти все сообщения от GenaFly
  № 4  
Ответить с цитированием
GenaFly

Регистрация: Aug 2008
Сообщений: 6
Тот же вопрос, но реализовать не получается. Может что-то неправильно делаю.
Код AS3:
public function Main() {
			var maska:Maska = new Maska();
			maska.blendMode = BlendMode.ERASE;
			addChild(maska);
 
			var sprite:Sprite = new Sprite();
                          sprite.mask = maska;
			addChild(sprite);
 
}
После выполнения кода маска работает по прежнему в режиме add. Никак не удается добиться режима subtract. Может кто подскажет в чем проблема?


Последний раз редактировалось GenaFly; 28.08.2011 в 19:39.
Старый 28.08.2011, 23:28
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Для этого процесса требуется, чтобы свойству blendMode родительского экранного объекта было задано значение flash.display.BlendMode.LAYER.
Пруф
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 28.08.2011, 23:40
GenaFly вне форума Посмотреть профиль Отправить личное сообщение для GenaFly Найти все сообщения от GenaFly
  № 6  
Ответить с цитированием
GenaFly

Регистрация: Aug 2008
Сообщений: 6
Ну хорошо. Разобрались с этим. Но даже с BlendMode.ERASE не получается сделать полноценную маску (точнее инверсированную маску). Проблема следующая:

Код AS3:
		public function Main() {
                        // родитель - BlendMode.LAYER;
			blendMode = BlendMode.LAYER;
 
                        // MoveiClip размером 500х500 
			var ground:Ground = new Ground();          
			addChild(ground);
 
	            // Маска размером 200х200, расположенная в точке 0,0.	
		           var maska:Maska = new Maska();
			maska.blendMode = BlendMode.ERASE;
			maska.width = maska.height = 200;
			maska.x = maska.y = 0;
			addChild(maska);
 
		   // ВНИМАНИЕ! Если бы маска "maska" была полноценной инверсированной маской, то следующий трэйс выдал бы false.
                         // Но в данном случае - получается true. То есть часть мувиклипа не вырезается, а просто делается прозрачной.
			trace(ground.hitTestPoint(10,10,true));
		}
Вопрос, выткающий из последнего комментария в коде - возможно ли добиться настоящей инверсированной маски? Или это пока невозможно на данном этапе развития as3 ?

Добавлено через 14 часов 0 минут
Прочитав массу статей, пришел к выводу, что пока это невозможно сделать. Хотя странно, вроде такая элементарная задача.

Может кто подскажет - можно ли на as3 реализовать полноценный ластик, а не его имитацию? То есть чтобы векторная графика действительно стиралась в мувике. Подозреваю, что и это сделать тоже невозможно.


Последний раз редактировалось GenaFly; 28.08.2011 в 23:48.
Создать новую тему Ответ Часовой пояс GMT +4, время: 10:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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