Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Меняем цвет текста внутри movieclip не зная имени текстового поля (http://www.flasher.ru/forum/showthread.php?t=144769)

zveryuka 20.09.2010 20:05

Меняем цвет текста внутри movieclip не зная имени текстового поля
 
Добрыйдень.

Можно ли как-то изменить параметры текстового поля вложенного в МувиКлип - если не зная имени текстового поля.? Текст в кнопку подгружается с помощью ХМЛ


Например:
Код AS3:

event.target.<my text>.textColor = 0x000000;

Код AS3:

var activeButton:MovieClip;
 
cont.addEventListener(MouseEvent.CLICK, clickFnc);
function clickFnc(event:MouseEvent){
 
        if (activeButton == event.target) return;
 
            if (activeButton != null)
    {
                event.target.<my text>.textColor = 0x000000;
}
                activeButton = event.target
                event.target.<my text>.textColor = 0xff0000;
}
 
cont.addEventListener(MouseEvent.MOUSE_OVER, overFnc);
function overFnc(event:MouseEvent){
 
        if (activeButton == event.target) return;
                        event.target.<my text>.textColor = 0xff0000;
}
 
cont.addEventListener(MouseEvent.MOUSE_OUT, outFnc);
function overFnc(event:MouseEvent){
 
        if (activeButton == event.target) return;
                        event.target.<my text>.textColor = 0x000000;
}


samana 20.09.2010 20:20

Может пробежаться по всем детям клипа и при нахождении текстового поля срабатывать нужную функцию.
Код AS3:

for(var i=0;i<clip.numChildren;i++){
        var obj=clip.getChildAt(i);
        if(obj is TextField){
                trace(obj.text="я тут")
        }
}


zveryuka 20.09.2010 20:55

у меня идёт [_[_[]_[]_[]_[]_[]_]-bloc_]-shapka

я написал
Код AS3:

for(var i=0;i<shapka.bloc.numChildren;i++){
        var obj=shapka.bloc.getChildAt(i);
        if(obj is TextField){
                trace(obj.text="я тут")
        }
        }

и что-то ничего не происходит
У меня в кнопке уже есть Dynamic Text я в него подгружаю текст - я просто не знаю будет ли оно находить его как TextField

Korben 20.09.2010 21:02

если ничего не происходит - то numChildren возвращает 0, (или нет shapka, или на shapka нет bloc)

вероятно вызываете не в том месте это "shapka.bloc.numChildren"
или попробуйте обращаться непосредственно "bloc.numChildren"

zveryuka 20.09.2010 21:13

Код AS3:

shapka.bloc.numChildren = 5

не срабатывает:
Код AS3:

if(obj is TextField){}

как я понимаю оно не находит текстовое поле?

Korben 20.09.2010 21:18

Цитата:

Сообщение от zveryuka (Сообщение 937412)
Код AS3:

shapka.bloc.numChildren = 5

не срабатывает:
Код AS3:

if(obj is TextField){}

как я понимаю оно не находит текстовое поле?

вполне вероятно, проверьте так

Код AS3:

for(var i=0;i<shapka.bloc.numChildren;i++){
        var obj=shapka.bloc.getChildAt(i);
        trace(obj);
        if(obj is TextField){
                trace(obj.text="я тут")
        }
        }

что выдаст?
null
или
[object....

zveryuka 20.09.2010 21:19

[object....

samana 20.09.2010 21:20

А если спросить так
Код AS3:

for (var i=0; i<shapka.bloc.numChildren; i++) {
        var obj=shapka.bloc.getChildAt(i);
        trace(obj);
}

в output не выводится что-то типа такого?
Код:

[object Shape]
[object TextField]
[object MovieClip]


zveryuka 20.09.2010 21:23

Код AS3:

[object home_btn_31]
[object event_btn_32]
[object culture_btn_33]
[object people_btn_34]
[object places_btn_35]


Korben 20.09.2010 21:23

ну все ясно - теперь делайте вложенный цикл :)
который аналогично пересмотрит каждую кнопку на наличие TextField


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

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