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

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

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

Регистрация: Apr 2007
Сообщений: 34
Question mouseChildren поведение при загрузке из разных источников.

Надо:
Загрузить в контейнер SWF (иконка, кнопка,...), повесить на него слушатели (клики, подсказки...). Но при этом сохранить поведение кнопки внутри.
При загрузке с того же места где находится загружающий - все в порядке.
При загрузке с другого хоста кнопка внутри перетягивает на себя события и слушатели родителя игнорируются.
Если же вырубить mouseChildren, то пропадают поведения кнопок внутри.

Security.allowDomain - прописано.

Так работает:
Код AS3:
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("some.swf");							
mLoader.load(mRequest);					
lto.addChildAt(mLoader, 0);				
lto.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
Так не работает:
Код AS3:
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("http://domen.ru/some.swf");							
mLoader.load(mRequest);					
lto.addChildAt(mLoader, 0);				
lto.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
Так не работает анимация кнопки:
Код AS3:
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("http://domen.ru/some.swf");							
mLoader.load(mRequest);					
lto.addChildAt(mLoader, 0);				
lto.mouseChildren = false;
lto.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
http://domen.ru содержит crossdomain.xml?

Старый 18.08.2011, 17:14
Da_Demon вне форума Посмотреть профиль Отправить личное сообщение для Da_Demon Найти все сообщения от Da_Demon
  № 3  
Ответить с цитированием
Da_Demon

Регистрация: Apr 2007
Сообщений: 34
Цитата:
Сообщение от Genzo Посмотреть сообщение
http://domen.ru содержит crossdomain.xml?
Да, всем есть доступ. Все загружается. Проблема в разном поведении слушателей после загрузки.

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Можно код "some.swf" ?
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 18.08.2011, 17:46
Da_Demon вне форума Посмотреть профиль Отправить личное сообщение для Da_Demon Найти все сообщения от Da_Demon
  № 5  
Ответить с цитированием
Da_Demon

Регистрация: Apr 2007
Сообщений: 34
Там кода нет, чаще всего там голые кнопочки или анимации.
Ну разрешение максимум..
Код AS3:
import flash.system.Security;
import flash.system.SecurityPanel;
Security.allowDomain("*");

Старый 18.08.2011, 18:02
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 6  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
поидее Security.allowDomain("*"); нужно и в основной программе указать

Добавлено через 56 секунд
Код AS3:
var context:LoaderContext = new LoaderContext(); 
context.securityDomain = SecurityDomain.currentDomain; 
context.applicationDomain = ApplicationDomain.currentDomain; 
 
mLoader.load(mRequest , context);
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Регистрация: Apr 2007
Сообщений: 34
Цитата:
поидее Security.allowDomain("*"); нужно и в основной программе указать
ух е...
Действительно помогло.
Спасибо огромное, самое подлое в ситуации что все грузилось.. !

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Действительно, т.к. событие всплывающее необходимо разрешение разработчика (Security.allowDomain) и для загружающей флешки.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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