Форум 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=139637)

AgentxXx 06.05.2010 21:28

Обращение к элименту из мувика
 
Всем добрый день. Вот такая проблема: есть у меня мувик с видом кнопки, т.е. на эллипсе сидит динамик текст. Я создаю программно 5 кнопок, но я не знаю каким образом можно потом обратиться к этим динамически созданным мувикам.. т.е. получается обратиться только к самому последнему или обращаться в цикле когда я их создаю. Вот текст, с помощью которого я создаю их:
Код AS3:

for(var i:int = 0;i<5;i++)
{
        var mv:MovieClip=new MovieClip();
        mv=new firstmenu();
        mv.x=130*i+1;
        mv.y=56;
        mv.name="mv"+i;
        addChild(mv);
}

Пробовал таким образом, но все равно не получилось:
Код AS3:

(getChildByName("mv1") as DisplayObjectContainer).getChildByName("zalog").text="sdghf"; //1 способ
getChildByName("mv1").getChildByName("zalog").text="Главная"; //2 способ


КорДум 06.05.2010 21:35

1. Загнать все в массив и обращаться по элементу
2. getChildByName
3. getChildAt

AgentxXx 06.05.2010 22:51

А можете ли написать каким макаром это сделать? =)

КорДум 06.05.2010 22:54

Код AS3:

private var arr:Array = new Array();
...
for (var i:int = 0; i < 5; i++) {
        arr[i] = new firstmenu(); //классы пишутся с большой буквы
        arr[i].x = 130 * i + 1;
        arr[i].y = 56;
        //arr[i].name = "mv" + i;
        addChild(arr[i]);
}
...
removeChild(arr[2]); //удаление третьей кнопки
arr[2] = null;


dimarik 07.05.2010 00:14

Элемент. Остальное придет само.

AgentxXx 07.05.2010 00:23

Спасибо! Получилось!!! Только он на private что то ругался, пришлось убрать))

КорДум 07.05.2010 00:34

Наругался, потому что вы, скорее всего, запихали переменную в метод.

AgentxXx 07.05.2010 08:11

Эм... Я хорошо прогаю на C# и знаю где там и что такое метод, но в AS3.0 я конечно могу не знать что такое метод. Но к сведению: я запихал это все в кадр, и строка с private была самая верхния. Если это метод - то значит ты прав. Со внешними AS файлами еще не очень хорошо приучен работать. Но надеюсь скоро начать их использовать)

КорДум 07.05.2010 11:33

Я не в курсе, как писать в кадрах - зачем? Ведь АС3 основывается на классах и внешних файлах. Что, даже без классов совсем программируете? Ужас. Извращенство прям какое-то. Переучивайтесь)

gloomyBrain 07.05.2010 11:58

Цитата:

Я хорошо прогаю на C#
Цитата:

Со внешними AS файлами еще не очень хорошо приучен работать
Не вяжется


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

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