|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2001
Сообщений: 151
|
Как из класса добраться до "_root"-а?
Только начинаю переходить на AS3 и вот какой вопрос, наверное детский.
На сцене, в "_root"-е (специально пишу с "_", пока мне так яснее) ecть текстовое поле txt. Класс документа A: package { import flash.display.MovieClip; import flash.text.TextField; public class A extends MovieClip { function A() { txt.text = 'aaa'; } } } А если делаю другой класс В: package { import flash.display.MovieClip; import flash.text.TextField; public class B extends MovieClip { function B() { txt.text = 'aaa'; } } } package { import flash.display.MovieClip; import flash.text.TextField; public class A extends MovieClip { function A() { var b:B = new B(); } } } Как правильно это делать, обращаться к чему-либо на главной временной диаграмме (или еще где-то) из таких вот последовательно вызванных классов? |
|
|||||
Вы класс к символу в библиотеке прикрипляете, я так полагаю. В таком случае нужно у символа, на который вы вешаете класс B, создать текстовое поле с инстенс неймом txt. Сначала надо объявить переменную, потом обращаться.
|
|
|||||
Регистрация: Jan 2008
Сообщений: 84
|
рут в твоём понимании будет stage.getChildAt(0)...
тоесть обратиться к текстовому полю нужно примерно так: var tipaRoot=stage.getChildAt(0); tipaRoot.txt.text='tralala'; или tipaRoot.getChildByName('txt').text='tralala'; |
|
|||||
Регистрация: Feb 2001
Сообщений: 151
|
MrPoma, у меня пока в библиотеки для этого ничего нет. И, в общем-то, хотел обойтись без этого: просто класс, который пишет слова в текстовые поля из словаря.
Но все равно спасибо. me2, спасибо. Ваш вариант как-то подтолкнул к нужному решению. В результате сделал так: //Класс A (класс документа, т.е. и есть "_root"): package { import flash.display.MovieClip; import flash.text.TextField; public class A extends MovieClip { function A() { var b:B = new B(this); } } } //Класс B: package { import flash.display.MovieClip; import flash.text.TextField; public class B extends MovieClip { function B(where) { where.txt.text = 'bbb'; } } } Спасибо всем! Последний раз редактировалось Dmitry Y; 16.10.2009 в 16:26. |
|
|||||
Регистрация: Feb 2001
Сообщений: 151
|
Сделать статичным текст? Будет неудобно.
Предполагаются локализованные версии: русский, английский, испанский и т. д. Теоретически можно добавить потом и др. языки. Здесь, для примера, упрощенный вариант, конечно. На самом деле в классе В буду 1 раз пробегать по XML и распихивать слова куда надо, в поля, в переменные. |
Часовой пояс GMT +4, время: 00:41. |
|
« Предыдущая тема | Следующая тема » |
|
|