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

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

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

Регистрация: Sep 2009
Сообщений: 68
По умолчанию Как обратится к свойствам мувика не из главного класса?

Есть мувик с меню на главной сцене.

Из класса MainMenu необходимо получить доступ к его свойствам

Код AS3:
package  {
	import flash.display.MovieClip;
	public class MainMenu extends MovieClip {
		public var menu:MovieClip;
		public function MainMenu() {
			// constructor code main_menu
			 menu = stage.getChildByName('main_menu') as MovieClip;
			 menu.alpha = 0;
		}
 
	}
 
}
Матерится
Код:
 Cannot access a property or method of a null object reference.
Если обратится с главного класса, которые приаттачен к ролику, то всё работает правильно.

А как же обратится правильно?

Старый 11.11.2010, 19:20
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
package  {
	import flash.display.MovieClip;
	public class MainMenu extends MovieClip {
		public var menu:MovieClip;
		public function MainMenu(st) {
			// constructor code main_menu
			 menu = st.getChildByName('main_menu') as MovieClip;
			 menu.alpha = 0;
		}
 
	}
 
} // где  в st вы передаете stage main класса....
Но так делать не надо больше))

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Вы можете передать передать ссылку на мувик в конструктор при создании MainMenu.
Или обращаться из MainMenu к мувику, после addedToStage
Код AS3:
package  {
	import flash.display.MovieClip;
	import flash.events.Event;
	public class MainMenu extends MovieClip {
		public var menu:MovieClip;
		public function MainMenu() {
			// constructor code main_menu
			 addEventListener(Event.ADDED_TO_STAGE, added);
		}
 
		private function added(e:Event):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, added);
			menu = parent["main_menu"] as MovieClip;//или parent.parent...смотря какая вложенность
			menu.alpha=0.5
		}
	}
}
Но лучше всё таки передавать ссылку.

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

Регистрация: Sep 2009
Сообщений: 68
Тоесть я пытаюсь обратится к мувику до того, как он фактически добавлен на сцену и потому вываливается ошибка?

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Похоже на то.

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

Регистрация: Sep 2009
Сообщений: 68
Спасибо

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

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

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


 


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


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