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

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

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

Регистрация: Nov 2009
Адрес: Нижний Новгород
Сообщений: 4
Question Обращение к объекту основного класса приложения

Вопрос от новичка.

Как обратиться к объекту основного класса приложения из какого-либо дополнительного класса? Например, чтобы изменить значение свойства основного класса.

Здесь, на форуме, была похожая тема - как вызвать метод основного класса "извне", но там немного не то, что мне нужно.

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

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Можно с помощью событий.

Например:
Код AS3:
public class Main extends Sprite{
	private var childClass:ChildClass;
 
	public function Main() {
		this.childClass = new ChildClass();
		this.childClass.addEventListener("event_name", this.customEventHandler);
	}
 
	private function customEventHandler(event:CustomEvent):void {
		// Здесь делаем то, что нужно
	}
}
Код AS3:
public class ChildClass extends EventDispatcher{
 
	public function ChildClass() {
 
	}
	private function someFunction():void {
		// Делаем что-нибудь...
		super.dispatchEvent(new Event("event_name")); // Отсылаем событие	
	}
}

Старый 29.11.2009, 23:53
ladamalina вне форума Посмотреть профиль Отправить личное сообщение для ladamalina Найти все сообщения от ladamalina
  № 3  
Ответить с цитированием
ladamalina

Регистрация: Nov 2009
Адрес: Нижний Новгород
Сообщений: 4
Спасибо. А если у меня тот класс, из которого нужно обратиться, не может генерировать события, т.е. он не "extends EventDispatcher", а "extends Sprite"?

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

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Цитата:
Сообщение от ladamalina Посмотреть сообщение
Спасибо. А если у меня тот класс, из которого нужно обратиться, не может генерировать события, т.е. он не "extends EventDispatcher", а "extends Sprite"?
Sprite может генерировать события, так как он сам является наследником EventDispatcher

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
можно через статичную переменную основного класса
__________________
low +

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

Регистрация: Mar 2008
Сообщений: 259
Если есть гарантия, что экземпляр класса один (например мейн класс), то можно синглтоном... Ну в принципе Jewelz про это и говорит наверное

Код AS3:
public static var self:Main;
 
public function Main() {
self = this;
}

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

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

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


 


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


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