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

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

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

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
Question Как программно вырезать в маске окно?

Всем добрый день.
Необходимо программно создать прямоугольную маску. Затем в ней сделать прямоугольные "окошки". В итоге маска должна быть похожа на сыр . Так вот как вырезать эти области? И что лучше использовать, Shape или Bitmap?

Старый 29.10.2008, 14:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
BlendMode.ERASE

Старый 29.10.2008, 20:08
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
дырку можно получить если нарисовать заливку по заливке
Код:
var shape:Shape = new Shape();
shape.graphics.beginFill(0);
shape.graphics.drawRect(0, 0, 100, 100);
shape.graphics.drawCircle(50, 50, 40);
но как маска она работать не будет..
blendMode.ERASE ее тоже вроде бы не учитывает, хотя не уверен
т.е. скорее всего все равно придется возится с битмапами, чтоб заставить ее работать

Старый 30.10.2008, 00:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
silin, в случае с ERASE как раз маска как таковая и не используется.

Старый 30.10.2008, 00:48
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
ну да, не используется..
тока есть некоторая странность для дырявых шейпов, причем не на всех режимах blendMode
вот, например, INVERT работает как ожидалось, а ERASE нет.., может я не того ожидаю

Код:
var face:Shape = new Shape();
face.graphics.beginFill(0xFF0000);
face.graphics.drawRect(0, 0, 100, 100);
addChild(face);

var shape:Shape = new Shape();
shape.graphics.beginFill(0);
shape.graphics.drawRect(0, 0, 100, 100);
shape.graphics.drawCircle(50, 50, 40);
addChild(shape);

shape.blendMode = BlendMode.INVERT;//работает по шейпу с дыркой
//shape.blendMode = BlendMode.ERASE;//работает по всему прямоугольнику

Старый 30.10.2008, 00:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
silin, хелпа говорит, что надо ещё режим LAYER у контейнера включить. Т. е. не всё так просто.

Старый 30.10.2008, 01:04
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вот ведь, с LAYER работает.., дело не в дырках
ps.
собственно дырявый шейп здесь и вовсе не при делах: достаточно LAYER у контейнера и шейп на месте предполагаемых дырок с включенным ERASE

Старый 30.10.2008, 01:11
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от silin Посмотреть сообщение
вот ведь, с LAYER работает.., дело не в дырках
ps.
собственно дырявый шейп здесь и вовсе не при делах: достаточно LAYER у контейнера и шейп на месте предполагаемых дырок с включенным ERASE
Ну так я же говорю, маски не при делах.

Старый 30.10.2008, 18:37
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 9  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
спасибо за дискуссию, ответ получился очень развернутый, в примерах

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

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

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


 


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


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