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

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

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

Регистрация: Aug 2005
Сообщений: 687
Записей в блоге: 1
Отправить сообщение для Скрипун с помощью ICQ
По умолчанию перекрывающие SWFLoader'ы и swf-ки в них

Доброй ночи

Есть 2 SWFLoader'а. Один выше другого. Тот что выше имеет контент который перекрывает мувик нижнего, на котором висит событие CLICK.

CLICK не срабатывает когда над ним есть какой-то другой SWFLoader, даже если пишу:
Код AS3:
 mouseEnabled=false
То же самое проверил с обычными мувиклипами - работает
__________________
Flash в крови

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
mouseEnabled=false;
mouseChildren=false;
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Aug 2005
Сообщений: 687
Записей в блоге: 1
Отправить сообщение для Скрипун с помощью ICQ
На жаль не помогает, сделал пример:
test2.zip

mcAnimal - большая площадь, которая НЕ должна учитывать нажатие
clickMovie - клип для нажимания

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
	xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955"
	minHeight="600">
 
	<fx:Script>
		<![CDATA[
			protected function swfloader1_completeHandler(event : Event) : void {
				//(loader1.content["mcAnimal"] as MovieClip).play();
 
				loader1.mouseEnabled = false;
 
 
				(loader1.content["clickMovie"] as MovieClip).mouseEnabled = true;
				(loader1.content["clickMovie"] as MovieClip).buttonMode = true;
				(loader1.content as MovieClip).mouseEnabled = false;
				(loader1.content["mcAnimal"] as MovieClip).mouseEnabled = false;
				(loader1.content["mcAnimal"] as MovieClip).mouseChildren= false;
 
				(loader1.content["clickMovie"] as MovieClip).addEventListener(MouseEvent.CLICK, click1Handler);
			}
 
			protected function swfloader2_completeHandler(event : Event) : void {
			//	(loader2.content["mcAnimal"] as MovieClip).play();
				loader2.mouseEnabled = false;
 
				(loader2.content as MovieClip).mouseEnabled = false;
				(loader2.content["mcAnimal"] as MovieClip).mouseEnabled = false;
				(loader2.content["clickMovie"] as MovieClip).mouseEnabled = true;
				(loader2.content["clickMovie"] as MovieClip).buttonMode = true;
				(loader2.content["clickMovie"] as MovieClip).addEventListener(MouseEvent.CLICK, click2Handler);
			}
 
			protected function click1Handler(event : MouseEvent) : void {
				// TODO Auto-generated method stub
				trace("click 1");
			}
 
			protected function click2Handler(event : MouseEvent) : void {
				// TODO Auto-generated method stub
				trace("click 2");
			}
		]]>
	</fx:Script>
 
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	<mx:SWFLoader id="loader1" x="100" y="100" source="animal_0.swf"
		complete="swfloader2_completeHandler(event)"/>
 
	<mx:SWFLoader id="loader2" x="0" y="0" source="animal_0.swf"
		complete="swfloader1_completeHandler(event)"/>
</s:Application>
__________________
Flash в крови

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
На жаль не помогает
В вашем случае это надо было навесить на SWFLoader.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 16.11.2011, 21:20
Скрипун вне форума Посмотреть профиль Отправить личное сообщение для Скрипун Найти все сообщения от Скрипун
  № 5  
Ответить с цитированием
Скрипун
 
Аватар для Скрипун

Регистрация: Aug 2005
Сообщений: 687
Записей в блоге: 1
Отправить сообщение для Скрипун с помощью ICQ
если сделать
Код AS1/AS2:
mouseEnabled=false;
mouseChildren=false;
на весь лоадер, "content" становиться соответственно тоже недоступным...
__________________
Flash в крови

Старый 16.11.2011, 21:32
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 6  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Ну можете пойти сложным путем. Когда вы указали
Код AS3:
loader1.mouseEnabled = false;
это отключило мышь лишь для SWFLoader, но не для контейнера содержащего загруженный ролик.
Вам к этому спагетти, что уже написано надо дописать
Код AS3:
use namespace mx_internal;
loader1.contentHolder.mouseEnabled = false;
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 17.11.2011, 00:20
Скрипун вне форума Посмотреть профиль Отправить личное сообщение для Скрипун Найти все сообщения от Скрипун
  № 7  
Ответить с цитированием
Скрипун
 
Аватар для Скрипун

Регистрация: Aug 2005
Сообщений: 687
Записей в блоге: 1
Отправить сообщение для Скрипун с помощью ICQ
Афигеть! Магия! Работает!
__________________
Flash в крови

Старый 17.11.2011, 01:28
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 8  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
alatar, скажите, пожалуйста, что делает первая строка вашего блока кода?
Код AS3:
use namespace mx_internal;
loader1.contentHolder.mouseEnabled = false;

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Дает указание использовать пространство имен mx_internal в котором находится contentHolder.
Почитайте о пространствах имен (namespace) в AS3.
__________________
משיח לא בא
משיח גם לא מטלפן

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

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

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


 


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


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