Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Почему при обращении по instance name получаем null? (http://www.flasher.ru/forum/showthread.php?t=120083)

Fergus 11.01.2009 21:31

Почему при обращении по instance name получаем null?
 
Ситуация такая. Во флешке два фрейма: в первом прелоадер, во втором - все остальное.
Во втором фрейме есть объект, которому присвоено некое instance name.
При обращении к нему по этому именни мы получаем null. При этом если его перенести в первый кадр, то все нормально, получаем нужный объект.
Причем, когда он во втором фрейме, он все-таки существует: если запросить какой-то несуществующий объект, то ошибку выводит компилятор и прерывает компиляцию.

Так как же к нему обращаться чтобы получать нормальный объект?

Irohni 11.01.2009 21:41

Вы видимо обращаетесь еще до того как этот объект загрузиться, напишите во втором кадре trace(instance_name) - должно работать, так же проверьте путь обращения.

ramshteks 11.01.2009 21:43

не использовать фреймы

etc 11.01.2009 21:54

1. Не пишите код в кадрах;
2. Не используйте прямое обращение по имени, для обращения по имени есть метод getChildByName.

Kuruki 11.01.2009 22:01

Цитата:

Сообщение от __etc (Сообщение 789728)
2. Не используйте прямое обращение по имени, для обращения по имени есть метод getChildByName.

_etc, а можно (в смысле правильно ли это) обращаться к клипу напрямую, если он является дитем клипа-класса, загруженного из swc? Ведь получается он уже свойством является.

Fergus 11.01.2009 22:02

Цитата:

Сообщение от __etc (Сообщение 789728)
1. Не пишите код в кадрах;
2. Не используйте прямое обращение по имени, для обращения по имени есть метод getChildByName.

1. Код в кадрах я не пишу.
2. Спасибо, попробую воспользоваться.

Добавлено через 5 минут
Если написать во втором фрейме trace(obj) - то он возвращает нормальный объект.
А как его заставить возвращать нормальный объект, если не писать код в кадрах?

etc 11.01.2009 22:13

Цитата:

Сообщение от Kuruki (Сообщение 789733)
_etc, а можно (в смысле правильно ли это) обращаться к клипу напрямую, если он является дитем клипа-класса, загруженного из swc? Ведь получается он уже свойством является.

Ого, вы swc загружаете? А я думал, что они вкомпиливаются в проект на стадии компиляции…
Обращаться также, getChildByName.

Fergus 11.01.2009 22:17

Цитата:

Сообщение от ramshteks (Сообщение 789726)
не использовать фреймы

А как же тогда прелоадер сделать?

etc 11.01.2009 22:21

Прелоадер можно сделать и без писанины в кадрах. Всё в тех же классах.

Kuruki 11.01.2009 22:25

Цитата:

Сообщение от __etc (Сообщение 789736)
Ого, вы swc загружаете? А я думал, что они вкомпиливаются в проект на стадии компиляции…

Хорошо, клипа-класса, вкомпиленного из swc. :)
Спасибо


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

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