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

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

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

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
По умолчанию Прозрачный для мыши компонент?

"Прозрачный" для мышиных событий компонент?
То есть чтоб все компоненты интерфейса под ним, спокойно обрабатывали события мыши.
Возможен ли такой? (без трансляции всех подряд событий)

собсна задача: Нужно затемнять интерфейс, с прорезанными незатемненными "окошками", их кол-во любое, положение тоже, система обучения пользователя. В этих окошках все нижние элементы должны быть доступны для действий мышкой, хотя для начала можно и без ограничений, можно и весь интерфейс.

Уже пробовал играться с маской, то есть программно резать посередине элемента окна, в любом виде контейнер/компонент закрывает нижние компоненты от мыши.

Сейчас пробую строить векторный компонент.
Может кто сталкивался?

Добавлено через 1 час 47 минут
вектор порешал проблему, зря кипиш навел %)

Старый 15.11.2010, 12:41
GemiBillyBob вне форума Посмотреть профиль Отправить личное сообщение для GemiBillyBob Найти все сообщения от GemiBillyBob
  № 2  
Ответить с цитированием
GemiBillyBob

Регистрация: Aug 2010
Адрес: Харьков, Украина
Сообщений: 42
Кинь решение, может пригодится кому.

Старый 15.11.2010, 13:02
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 3  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
толком не вник почему не работает с Canvas прозрачность в окнах
возможно из-за обработки скрытой заливки

Код AS3:
<mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml"
				creationComplete="creationCompleteHandler(event)">
	<mx:filters>
		<mx:BlurFilter id="blurFilter" blurX="16" blurY="16"/>
	</mx:filters>
 
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
 
			private var shape:Shape;
 
			private const DARK_COLOR:uint = 0x000000;
			private const DARK_ALPHA:Number = 0.7;
			private const DARK_BLUR:uint = 16;
			// Параметром передается ХМЛ список окон
                        // координаты и размер
			public function setNewRects(rects:XMLList):void
			{
				shape.graphics.clear();
				shape.graphics.lineStyle( 0, DARK_COLOR, 0 );
				shape.graphics.beginFill( DARK_COLOR, DARK_ALPHA );
 
				var squareCommands:Vector.<int> = new Vector.<int>();
				var squareCoord:Vector.<Number> = new Vector.<Number>();
				// 1 - MoveTo, 2 - LineTo
				squareCommands.push( 1, 2, 2 ,2, 2)
				// Рисуем Большой квадрат, основное затемнение на всё окно, в котором будут резаться окна поменьше
				squareCoord.push( 0,0, 750,0, 750,600, 0,600, 0,0);
				// Пробегаемся по списку мелких окон
				// важно чтоб они были в одном массиве данных с большим квадратом, иначе не будет "вырезки"
				for each ( var rect:XML in rects )
				{
					var _x:int = rect.@x;
					var _y:int = rect.@y;
					var _width:int = rect.@width;
					var _height:int = rect.@height;
 
					squareCommands.push( 1, 2, 2 ,2, 2 );
					squareCoord.push(   _x, _y,  
							_x + _width, _y,
							_x + _width, _y + _height,
							_x, _y + _height,
							_x, _y                        );
				}
 
				shape.graphics.drawPath(squareCommands, squareCoord);
				shape.graphics.endFill();
			}
 
			protected function creationCompleteHandler(event:FlexEvent):void
			{
				shape = new Shape();
				this.addChild(shape);
			}
		]]>
	</mx:Script>
</mx:UIComponent>


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

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

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


 


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


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