Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   getChildByName у потомка потомка? (http://www.flasher.ru/forum/showthread.php?t=114523)

GRiNGA 31.07.2008 19:06

getChildByName у потомка потомка?
 
Здравствуйте,
на mainTimeLine создается MovieClip "form", в котором потом создается TextField "txt"

Также на mainTimeLine создается MovieClip "btn".

Как можно из "btn" обратиться к текстовому полю "txt"?

Почему trace(this.parent.getChildByName("form").getChildByName("txt") ) выдает ошибку?

А через вот так:
var _child=this.parent.getChildByName("form");
trace(_child.getChildByName("form")) работает нормально?

Объясните пожалуйста принцип. Как можно обратиться к этому текстовому полю в одной строке?

etc 31.07.2008 19:17

А вы посмотрите, экземпляр какого класса возвращает метод getChildByName и у какого класса такой метод объявлен впервые.

litebox 31.07.2008 19:21

Цитата:

Сообщение от GRiNGA (Сообщение 755598)
Почему trace(this.parent.getChildByName("form").getChildByName("txt") ) выдает ошибку?

Необходимо указывать, к объекту какого типа нужно обратиться, например, так:
Создайте Document Class и в нем напишите следующее:
TextField(form.txt).text = "sometext";

etc 31.07.2008 19:31

Цитата:

Сообщение от litebox (Сообщение 755604)
Необходимо указывать, к объекту какого типа нужно обратиться, например, так:
Создайте Document Class и в нем напишите следующее:
TextField(form.txt).text = "sometext";

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

PeTa4eK 31.07.2008 20:08

Попробуй обратится к form через root если он конешно на нем. Затем и тексту.

litebox 31.07.2008 20:25

Лично я такие вещи вообще стараюсь не использовать... конструкции типа parent.parent.child.child... бр-р-р, путанина
Кстати, GRiNGA, не забудьте, что через stage или parent нельзя обращаться в конструкторе, т.к. код выполняется до того, как визуальные элементы добавляются на stage.

mre 31.07.2008 21:14

Цитата:

Лично я такие вещи вообще стараюсь не использовать... конструкции типа parent.parent.child.child... бр-р-р, путанина
А как бы Вы поступили если такое обращение было бы необходимо?

BlooDHounD 31.07.2008 21:17

mre, Вы издеваетесь? такое обращение не бывает необходимо :)

litebox 31.07.2008 21:50

mre, если мне необходимо такое обращение, то я сожусь и перерабатываю написанную иерархию классов - т.к. с такой кашей работать уже нету сил :))))

Anry_coolboy 31.07.2008 21:58

нужно напсиать вот так
Код:

MovieClip(this.parent.getChildByName("form")).getChildByName("txt")


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

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