Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   textField внутри "матрешки" (http://www.flasher.ru/forum/showthread.php?t=151937)

Romannn 08.03.2011 23:22

textField внутри "матрешки"
 
Здравствуйте, уважаемые. Ситуация следующая:
у меня есть следующая конструкция:
к _root цепляю 1_mc
к 1_mc цепляю 2_mc
при этом в 2_mc уже находится, скажем, text_mc, и последний делает какие-то действия, заданные анимацией в раскадровке (предволожим, движется справа-налево и меняет уровень _alpha). А проблема, собственно, в том, что ТЕКСТ в text_mc мне надо помещать динамически.
Вопрос: возможно ли это сделать в принципе?

обратиться к text_mc в коде не могу, хотя в библиотеке он зарегистрирован и расшарен для AS. Флеш отказывается вообще видеть какое-либо содержимое 2_mc, т.е. не помогают ни прямое обращение типа _root.1_mc.2_mc.text_mc, ни обращения типа _root.1_mc.2_mc.getInstanceAtDepth().

И сразу второй вопрос. Если реально запихать текст в text_mc, то будет ли сохранена анимация с эффектами?

_SAM_ 09.03.2011 01:25

У вас text_mc это мувиклип или текстовое поле?

Romannn 09.03.2011 01:35

text_mc - это мувик, хранящий в себе текстовое поле.

mooncar 09.03.2011 09:54

Цитата:

Сообщение от Romannn (Сообщение 978902)
к _root цепляю 1_mc
к 1_mc цепляю 2_mc

Покажите код. "Цепляю" - это вы об аттачменте? Изъясняйтесь правильно, вас не понятно.

Что у вас показывает
Код AS1/AS2:

trace (_root.1_mc.2_mc.text_mc)

?
Если undefined, то такого мувика по данному пути нет. Почему нет, как раз и нужно разбираться. Трейсите дальше с укорачиванием пути, чтобы понять, где у вас проблема:
Код AS1/AS2:

trace (_root.1_mc.2_mc)
trace (_root.1_mc)


Romannn 09.03.2011 14:14

да, правильно поняли, именно attach'у. Если подробнее, то у меня в библиотеке хранятся пустой 1_mc и 2_mc, в котором уже вложен text_mc, и на text_mc уже наложена анимация.

при trace (_root.1_mc) выдает _level0.object (вроде, так. В общем, флеш его видит и возвращает значение объекта)
trace (_root.1_mc.2_mc) - аналогично.

а вот при попытке обнаружить text_mc
trace (_root.1_mc.2_mc.text_mc) возвращает undefined

так же ничего не дает и "сканирование" через trace (_root.1_mc.2_mc.getInstanceAtDepth(n)), n пробовал от 0 до 3, дальше уже смысла не видел

наверное, сразу надо было код выложить
Код AS1/AS2:

my_xml.onLoad = function(loaded):Void{
        if(loaded){
                //при удачной загрузке .xml цепляю на форму все мувики
                //первый
                attachMovie("cell","cell1",getNextHighestDepth());
                cell1._x=5;//выравниваю его положение на сцене
                cell1._y=5;
                //делаю основу для картинки
                cell1.createEmptyMovieClip("bg_img",0);
                cell1.bg_img.createEmptyMovieClip("bg",0);
                cell1.attachMovie("move1","mask1",1);//move1 - это анимация, служащая маской
                //гружу картинку фона
                loadMovie(my_xml.firstChild.firstChild.firstChild.firstChild.nodeValue,cell1.bg_img.bg);
                //задаю внутреннюю маску
                cell1.bg_img.setMask(cell1.mask1);
                //цепляю и задаю основную маску
                attachMovie("mask1","mask1",getNextHighestDepth());//mask1 - это маска на весь ролик cell1
                mask1._x=cell1._x;
                mask1._y=cell1._y;
                cell1.setMask(mask1);
                //цепляю мувики с текстом
                cell1.attachMovie("text1","text1",2);//при этом, ролик text1 хранится в библиотеке УЖЕ со вложенным в него роликом textbody, который, собственно, заанимирован
 
                //назначаю реакцию на мышь
                cell1.mask1.ison = false;
                cell1.mask1.onRollOver = function(){
                        this.ison=true;
                        this.play();
                }
                cell1.mask1.onRollOut = function(){
                        this.ison=false;
                        this.play();
                }
 
 
        }
};



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

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