Цитата:
Сообщение от Isfet
вам неправильно подсказали, ClipInfo - класс, а вам нужно обращаться через ссылку на экземпляр класса,
вы где-то создали экземпляр
 Код AS3:
var clipInfo:ClipInfo = new ClipInfo();
так вот clipInfo - ссылка на экземпляр , и через нее надо обращаться к этому экземпляру, а ClipInfo - это класс ващего экземпляра , к нему можно обратиться , если создать в нем , допустим статичную функцию, но это уже другая история.
тоесть вы должны дойти из главного класса до вашего текст-поля ПО ССЫЛКАМ
 Код AS3:
panel_left.animpanelleft.emotion.emotioninfo.text = info;
если так не получается , то выводите на экран
 Код AS3:
trace(panel_left);
trace(panel_left.animpanelleft);
trace(panel_left.animpanelleft.emotion);
trace(panel_left.animpanelleft.emotion.emotioninfo);
trace(panel_left.animpanelleft.emotion.emotioninfo.text); // тут должен вывестить текущий текст в вашем поле
если в одном из этих трейсов будет null, значит у вас неправильная ссылка на экземпляр
Добавлено через 8 минут
вот здесь нужно убрать все MovieClip(...), компилятор постарается преобразовать panel_left к типу MovieClip, если ваша левая панель не наследована от MovieClip (а она я больше чем уверен должна быть наследована от Sprite), то компилятор выдаст NULL, и соответственно вы потеряете ссылку.
пишите так
 Код AS3:
panel_left.animpanelleft.emotion.emotioninfo.text = info;
но все равно как-то коряво.
|
Я хотел уточнить у меня в коде:
var temppanelleft:MovieClip = new panel_left();
Тоесть создаётся переменная MovieClip, под названием temppanelleft я так понимаю используя класс panel_left из библиотеки.
Так как добарться до текстового поля?
temppanelleft это единственный элемент который выводится динамическим образом.
Пробовал так:
temppanelleft.emotioninfo.text = info;
и так:
temppanelleft.panel_left.anim_panelleft.emotion.emotioninfo.text = info;
и так:
temppanelleft.anim_panelleft.emotion.emotioninfo.text = info;
Не выводит ничего, trace тоже прописан, окно вывода пустое.
Добавлено через 33 минуты
И так, сейчас есть такой код:

Код AS3:
var info:String = "20";
temppanelleft.panel_left.animpanelleft.emotion.emotioninfo.text = info;
trace(info);
trace(temppanelleft);
trace(temppanelleft.panel_left);
trace(temppanelleft.panel_left.animpanelleft);
trace(temppanelleft.panel_left.animpanelleft.emotion);
trace(temppanelleft.panel_left.animpanelleft.emotion.emotioninfo.text);
Выходит ошибка: TypeError: Error #1010: Термин не определен и не имеет свойств.
at _fla::MainTimeline/frame30()
Как это всё устроено:
temppanelleft - это MovieClip созданный динамическим образом так:

Код AS3:
var temppanelleft:MovieClip = new panel_left();
и выведенный на сцену.
panel_left - это класс Ролика который лежит в библиотеке.
animpanelleft - так же класс ролика в библиотеке, но он вставлен в panel_left
emotion - так же класс ролика в библиотеке, но он вставлен в animpanelleft
emotioninfo - это имя динамического текстового поле которое находится в ролике emotion и в него нужно вывести данные переменной info, которая находится в главном коде.
Я уже 2 дня с этим вожусь и совершенно мозг отказывается понимать как это сделать что бы работало (
Добавлено через 2 часа 37 минут
Разобрался, во всём в правду говорится утро вечера мудренее. Спасибо Isfet