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

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

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

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Thumbs down stage в загружаемом ролике.

Здравствуйте, уважаемые Flasher'ы.
Впервые попробовал загрузить одну Flash'ку в другую и столкнулся с проблемой: в загружаемой флешке я не могу обращаться к stage (выдаёт ошибку - обращение к объекту null). Что в данном случае является сценой загружаемой флешки? И как мне обращаться именно к её собственной сцене?

Старый 06.01.2011, 16:16
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 2  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
что именно значит загрузить. вы добавили его на сцену(или в обьект который находится на сцене)????

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

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Загрузить - значит загрузить (другого слова я подобрать не могу) извне с помощью объекта класса Loader. После загрузки я добавляю объект прямо на сцену.

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
stage появляется у всех (неважно загружены они или созданы внутри приложения) отображаемых объектов после добавления их в список отображения. До этого момента stage == null. Проверяйте событие ADDED_TO_STAGE и только после этого можете к нему обращаться.

Старый 06.01.2011, 16:42
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 5  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
А как же сцена внутри загружаемого ролика? Я чё-то немного запутался... Я-то к сцене загружаемого ролика обращаюсь не извне, а из самого загружаемого ролика. То есть весь основной код у меня прямо в загружаемой флешке. Я к внутренней сцене этого ролика тоже не могу обращаться, пока я его не добавлю на сцену ролика загрузчика?
А сценой загружаемого ролика после загрузки станет сцена загружающего ролика?


Последний раз редактировалось Parez; 06.01.2011 в 16:45.
Старый 06.01.2011, 16:47
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 6  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Нет никакой "внутренней" сцены. Вы скорее всего пытаетесь обратиться к stage в конструкторе. В этот момент у вашего ролика, еще нет stage, он его еще попросту не получил.
Всегда старайтесь делать так:
Код AS3:
public function Main():void //это конструктора вашего класса
{
	if (stage) init();
	else addEventListener(Event.ADDED_TO_STAGE, init);
}
 
private function init(e:Event = null):void 
{
	removeEventListener(Event.ADDED_TO_STAGE, init);
	//а вот тут, можете уже обращаться к stage
}

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

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Огромное спасибо. Вроде всё получилось. И всё-таки, после загрузки внешнего ролика в главный ролик, сценой в загруженном ролике будет сцена загружающего ролика или что?

Старый 06.01.2011, 17:10
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
смотря, что называть сценой
stage - категория плеера, один для всех, в том числе и загруженных флешек
root - свой для каждой флешки, ссылка на экземпляр ее документ класса, в каком-то смысле это внутренняя сцена этого ролика

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Можно ограничиться только безусловным добавлением листенера
Код AS3:
public function Main() //это конструктора вашего класса
{
	addEventListener(Event.ADDED_TO_STAGE, init);
}
 
private function init(e:Event):void 
{
	removeEventListener(Event.ADDED_TO_STAGE, init);
	//а вот тут, можете уже обращаться к stage
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 06.01.2011, 21:56
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 10  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Всем спасибо. Всё получилось)

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

Теги
stage , внешний swf
Опции темы
Опции просмотра

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

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


 


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


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