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

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

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

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
По умолчанию обмен переменными

Добрый день!

Возможно вопрос прозвучит туповато, но...

есть флешка hint.swf, в которой присутствует TexField (type = "DYNAMIC"). Эта флешка грузиться во внешней флешке main.swf

Код AS3:
 
var tRequest:URLRequest = new URLRequest("./hint.swf");
var tLoader:Loader = new Loader();
tLoader.load(tRequest);
addChild(tLoader);
Вопрос: как из main.swf можно изменить hint.swf. На AS2 просто делал значения изменяемых "объектов" с параметром _global, а как сделать на AS3.0 - не могу сообразить. Через
Код AS3:
var tVars:URLVariables = new URLVariables("hText = test");
tRequest.data = tVars;
Не работает. Пишет, что фаил не найден. А надо грузить вложенный мувик как локально, так и с сервака (в зависимости от различных ситуаций).

Старый 21.09.2009, 16:47
ladon вне форума Посмотреть профиль Отправить личное сообщение для ladon Найти все сообщения от ladon
  № 2  
Ответить с цитированием
ladon

Регистрация: May 2006
Сообщений: 125
заведи в классе флешки hint.swf метод типа
Код AS3:
public function SetTextValue(text:String):void{
  myTextField.text = text;
}
когда заканчиваеim загружать hint доставай из него содержимое, используй этот метод

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

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
Цитата:
когда заканчиваеim загружать hint доставай из него содержимое, используй этот метод
Простите, а как "достать" из него содержимое?

Добавлено через 4 часа 11 минут
Что-то я не могу вкурить, дайте хоть направление где почитать. Сделал метод

Код AS3:
		public function setTitleText(t:String = "[HINT]"):void {
			win.hintTitle.text = t;
		}
А как после подгрузки флешки вызвать этот метод?

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
можно использовать интерфейсы (hint реализует интерфейс, main его использует)
__________________
я могу стать всем, если только захочу

Старый 22.09.2009, 11:45
ladon вне форума Посмотреть профиль Отправить личное сообщение для ladon Найти все сообщения от ladon
  № 5  
Ответить с цитированием
ladon

Регистрация: May 2006
Сообщений: 125
Код AS3:
private  var tRequest:URLRequest
private var tLoader:Loader;
 
public function LoadSwf():void {
   tRequest = new URLRequest("./hint.swf");
   tLoader = new Loader();
   tLoader.load(tRequest);
   //addChild(tLoader);
   tLoader.addEventListener(Event.COMPLETE, LoadingCompleteHandler);
    /// обработчики ошибок надо завести
   tLoader.addEventListener(IOErrorEvent.IO_ERROR, ErrorHandler);
   tLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, ErrorHandler);
 
}
 
public function LoadingCompleteHandler(event:Event):void{
  var content : * = tLoader.content;
  // контент это твой класс hint.swf, дергай из него чего хочешь
  addChild(content);
  content.setTitleText("test");
}

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

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Цитата:
надо грузить вложенный мувик как локально, так и с сервака (в зависимости от различных ситуаций).
Политика безопасности fp такое не позволит.

Старый 22.09.2009, 13:47
zombig вне форума Посмотреть профиль Отправить личное сообщение для zombig Найти все сообщения от zombig
  № 7  
Ответить с цитированием
zombig

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
Почему не позволит? Если в SecurityPanel разрешить флешу подгружать локальные данные, то все нормально будет (только это уже придеться делать каждому юзверю в отдельности) а с сервака грузить буду по crossdomain.xml разрешениям.

Добавлено через 37 минут
ladon Спасибо, только опытным путём, по средствам курения доков есть поправка в ваш топ.

Вот это:
Код AS3:
tLoader.addEventListener(Event.COMPLETE, LoadingCompleteHandler);
надо менять вот на это.

Код AS3:
tLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,complateHandler);
т.к. класс Loader не передёт в поток событий информации о загружаемом контенте. Информация содержится в классе contentLoaderInfo.

Добавлено через 3 часа 50 минут
И ещё, можно по подробнее про интерфейсы, а то я с ними ни разу не работал. т.е. у меня есть:

IHint.as
Код AS3:
package{
  public interface IHint {
  {
  function setTitleText(s:String = ""):void;
  }
}
есть hint.as
Код AS3:
package{
  public class hint implements IHint {
    // some methods
   public function setTitleText(s:String = ""):void {}
  }
}
И теперь через этот интерфейс я могу обратиться к классу hint? Разве при этом елемент класса будет взаимодействовать с интерфейсом? и как вообще потом обратиться к интерфейсу?


Последний раз редактировалось zombig; 22.09.2009 в 14:28.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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