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

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

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
По умолчанию Как правильно использовать namespace

Здравствуйте. Подскажите как правильно использовать namespace.
Суть задачи хочу в отдельном классе создать блок неймспейса и использовать их из любого места в коде. Может я конечно не правильно понял назначения неймспейса...

Main.as
Код AS3:
package  {
 
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField; 
	import flash.display.DisplayObject;
 
	import inpictures.logger.Logger;
	import inpictures.UserInterface;
	import inpictures.connector.External;
	import inpictures.events.ChannelEvent;
	import inpictures.Channel;
	import flash.events.MouseEvent;
 
	public class Connector extends Sprite {
 
		inpictures var ex:External = new External();
 
		private var ui:UserInterface;
 
		private var channel:Channel = new Channel();
 
		private var cache:Object;
 
		private var log:Logger;
 
		public function Connector() {			
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event=null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			log = new Logger();
			addChild(log);
 
			log.attach(channel);
 
			ui = new UserInterface();
			addChild(ui);
 
			channel.connect(inpictures::ex,true);
		}
	}
}
inpistures.as
Код AS3:
package {
    public namespace inpictures;
}
Channel.as
Код AS3:
package inpictures {
 
	import inpictures.Core;
	import dev.IDE;
 
	import inpictures.events.ChannelEvent;
 
	use namespace inpictures;
 
	public class Channel {
 
		public var log:*;
 
		private var core:Core = new Core();
		private var ide:IDE = new IDE();
 
		public function Channel() {
			trace(inpictures::ex); // output ReferenceError: Error #1065: Переменная inpictures::ex не определена.
		}
 
		public function connect(e:*,init:Boolean=false):void {			
 
			if (!e.hasEventListener(ChannelEvent.USING)) 
				e.addEventListener(ChannelEvent.USING, manager );
 
			if (log && !e.hasEventListener(ChannelEvent.LOG))
				e.addEventListener(ChannelEvent.LOG, log.channel );
 
			if (init) e.init();
		}
 
 
 
		public function set ei(e:*):void {
 
		}
 
		public function manager(e:ChannelEvent):void {
			//trace(e.type+" "+e.eventType+" Data"+e.data);
			if (log) log.add("ChannelEvent: Type <b>"+e.type+"</b>    eventType <b>"+e.eventType+"</b>");
 
			switch (e.eventType) {
				case "setIde": {
					core.auth(ide.user);
					break;
				}
				case "JSReady": {
 
					break;
				}
			}
		}
 
	}
 
}
__________________
return this...

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Вы пытаетесь сослаться на this.inpictures::ex, а нужно на экземпляр Connector. И если в самом Connector это прокатывает, то в Channel уже нет -- нет у него inpictures::ex.
Код AS3:
public function Channel() {
    const connector:Connector = new Connector();
    trace(connector.inpictures::ex);
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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