Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как добраться до объекта в определенном фрейме? (http://www.flasher.ru/forum/showthread.php?t=113370)

Felicast 26.06.2008 14:43

как добраться до объекта в определенном фрейме?
 
у меня есть класс, унаследованный от MovieClip. В дизайне мувиклип имеет 4 кадра. в каждом из них лежит текстовое поле.
как мне в конструкторе моего класса добраться до этих текстовых полей?

MrPoma 26.06.2008 16:14

Сначала надо перейти на определенный фрейм.
[имя текстового поля].text = 'text';

В теле пакета написать: import flash.text.TextField;

Felicast 26.06.2008 18:04

Цитата:

Сообщение от MrPoma (Сообщение 748106)
Сначала надо перейти на определенный фрейм.
[имя текстового поля].text = 'text';

В теле пакета написать: import flash.text.TextField;

это все понятно. но когда я перехожу на нужный фрейм в конструкторе (gotoAndStop(2)), то там текстовое поле еще не создано. getChildAt() возвращает null
Код:

this.gotoAndStop(2);
trace(this.getChildAt(0)); //[object Shape]
trace(this.getChildAt(1)); //null (здесь мое текстовое поле)

как я понимаю оно просто еще не создалось.
если этот код выполнить не к конструкторе, все нормально работает.

silin 26.06.2008 21:39

>>как я понимаю оно просто еще не создалось.

выходит, что и не создалось
смотреть можно в Event.ACTIVATE
Код:

package 
{
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.text.TextField;
       
        public class Test extends MovieClip
        {
                var t1:TextField;
                var t2:TextField;
                public function Test()
                {
                        trace( "tf : " + tf1.text );
                        gotoAndStop(2);
                        addEventListener(Event.ACTIVATE,activateHandler);
                }
               
               
                private function activateHandler(e:Event):void
                {
                        trace( "tf : " + tf2.text );
                }
        }
}

хотя непонятно, что это дает, да сам подход с дизайном в кадрах тоже

Felicast 26.06.2008 23:31

я просто хочу сделать кнопку с надписью. с SimpleButton тоже самое (правда там объекты есть, но у них нет имен, поэтому обращение к ним затруднительно)
вообще, можно ли как-нибудь получить массив с кадрами (как я понимаю это обычные DisplayObjectContainer)
или я ошибаюсь?


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

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