Просмотр полной версии : Access variable from external class
dreamer123
20.02.2011, 17:19
Привет всем,
прошу вашего совета, решение, подозреваю тривиальное, и именно в синтаксисе у меня проблема:
есть код, внутри кадра таймлайна fla файла, также есть класс, который подключается в следующем кадре fla файла:
import classes.VoiceRecorder;
var vr:VoiceRecorder = new VoiceRecorder();
addChild(vr);
Из этого класса VoiceRecorder мне нужно обратиться к созданному в первом кадре объекту my_player. Подскажите пожалуйста правильный синтаксис для такого отображения.
import fl.video.*;
...
var my_player:FLVPlayback;
...
Спасибо
tsarapkabel
21.02.2011, 02:42
Что-то я не совсем понял к кому надо обратиться. К my_player?
Для начала предлагаю определиться с написанием кода. Либо в кадрах, либо в классах.
Для начала предлагаю определиться с написанием кода. Либо в кадрах, либо в классах. И да пишите все в классах, не надо трогать кадры.
Но если уж так хочется, в вашем примере : то сначала нужно проверить, что получает первоначальный вес, код в 1 кадре, или main класс. Если кадр, то ок - trace(my_player) из main выведет приекрсно, если наоборот, то дождаться появления кадр-кода и проверять далее. Но ваще помоему ересь несу, ведь сначала просчитываются кадры, а только потом document class
cleptoman
21.02.2011, 09:51
Но ваще помоему ересь несу, ведь сначала просчитываются кадры, а только потом document class
мда..а проверить не судьба?
это все равно что получить свойства несозданного экземпляра, а потом уже создать экземпляр
сначала срабатывает конструктор вашего рута, потом уже все остальное.
я вот тоже маюсь и найти не могу ответ.
создание классов, объявление переменных и функций, добавление одного в другой - все прекрасно!
но как обратиться из только что созданного (добавленного) класса в "верхний"?
чтоб изменить к примеру его переменную или вызвать функцию
parent не катит
полный путь по папкам тоже
помогите включить мозги в нужную передачу!
и если такое возможно то как передать "путь к объекту" и какого типа должна быть переданная такого рода переменная (речь о том что было в AS2 - Eval(_root.итд)), чтоб к примеру из самого "нижнего класса" можно было скомандовать куда произвести Eval(путь).addChild добавление.
заранее благодарю
Никогда не нужно из "нижнего" класса никем командовать!
а как тогда прелодеру оповестить что все загруженно и откуда тогда тому во что надо загрузить возьмет это у прелодера?
у прелоадера сделайте public св-во того "во что надо загрузить", а оповестить по событию
хммм, да вопрос не в том что ктото не может обратиться изза прав доступа, а в том как вообще передавать путь на объект?
в as2 я мог писать Eval("_root.итд")
а тут как?
к примеру xxx=путь к объекту
какого типа он должен быть?
и как его указать для "xxx.addChild(то что загрузилось)" ?
идея вообще в том чтоб был некий универсальный прелодер:
1 - подключили
2 - запустили функцию прелодера в которую передали что грузить и куда addChild добавить
3 - после того как прелодер все сделал, он сам себя ликвидирует
1 и 3 все ок
2 - тупик
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.