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

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

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
создаете где-то в Main экземпляр TYPETest с ссылкой в конструкторе:

Код AS3:
var dispatch:TYPETest = new TYPETest(this);
в экземпляре TYPETest например:

Код AS3:
package main {
	import flash.text.*;
	import flash.events.Event;
	import flash.events.EventDispatcher;
 
	public class TYPETest  extends EventDispatcher {
 
		public static var ACTION:String = "TypeTest";
 
                private var _main:Main;
 
                public function TYPETest(main:Main) {
 
                      _main = main;
                }
 
		public function OutTYPETest(dot:String, author:String):void {
			//сформировали ответ
			_main.dispatchEvent(new Event(TYPETest.ACTION));
		}
	}
 
}
__________________
freelance | Раздор

Старый 27.04.2010, 01:34
Евгени4 вне форума Посмотреть профиль Отправить личное сообщение для Евгени4 Найти все сообщения от Евгени4
  № 12  
Ответить с цитированием
Евгени4

Регистрация: Apr 2010
Сообщений: 16
derhab
Тут засада на засаде.
У меня же ещё есть XMLParser, который тоже обращается к TYPETest, и если ему передать main:Main = null; то теряется смысл.

Код AS3:
package main {
 
	public class XMLParser {
		//произвели парсинг (отделили катлеты от мух)
		//обратились на выбор из N возможных К new TYPETest();
		//с запросом OutTYPETest(dot, author);
	}
 
}

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от Евгени4 Посмотреть сообщение
derhab
Тут засада на засаде.
У меня же ещё есть XMLParser, который тоже обращается к TYPETest, и если ему передать main:Main = null; то теряется смысл.
}[/as3]
че т я не совсем понял..но хорошо..
можно так:

Код AS3:
package main {
 
	import flash.display.MovieClip;
	import flash.events.Event;
 
	public class Main extends MovieClip {
 
               static private var:_instance:Main;
 
               static public function get instance():Main
               {
                       return _instance;
               }
 
               public function Main()
               {
                     _instance = this;
               }
 
        }
}
теперь из любого места достаете экземпляр Main
Код AS3:
Main.instance.dispatchEvent(...)
__________________
freelance | Раздор


Последний раз редактировалось derhab; 27.04.2010 в 02:16.
Старый 27.04.2010, 13:46
Евгени4 вне форума Посмотреть профиль Отправить личное сообщение для Евгени4 Найти все сообщения от Евгени4
  № 14  
Ответить с цитированием
Евгени4

Регистрация: Apr 2010
Сообщений: 16
derhab
Ничего не выходит:
Код AS3:
trace(Main.instance.dispatchEvent(new Event(TYPETest.ACTION))); //выдает true
а функция textOutput в классе Main несрабатывает,
Код AS3:
	public function textOutput(e:Event):void {
		trace("Принято!");
	}
Если убрать все промежуточные конструкторы XMLLoader, XMLParser то всё работает, но это не выход.
Или вешать в каждый конструктор диспатчер и ждать его в Main, а потом из Main уже дальше обращаться к следующему конструктору с передачей аргументов от предыдущего, если они были.
Я понимаю что это так должно работать.

Добавлено через 11 часов 13 минут
Подскажите пожалуйста, а как с помощью bubbles = true реализовать?


Последний раз редактировалось Евгени4; 27.04.2010 в 14:41.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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