Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Хранение SWF в массиве и добавление SWF на сцену (http://www.flasher.ru/forum/showthread.php?t=197441)

BenderMTB 07.04.2013 14:11

Хранение SWF в массиве и добавление SWF на сцену
 
Загружаю SWF с помощью Loader и складываю загруженные SWF в массив:

Код AS3:

 // событие Event.COMPLETE
function loader_event_complete(e:Event):void {
 
        var lr_movie_clip:MovieClip;
 
        lr_movie_clip = MovieClip(e.target.content);
 
 
        gt_arr[gt_arr.length] = [i_object_n, ir_object];
 
}

Затем пытаюсь добавить данный SWF из массива:

Код AS3:

object_cont_swf.addChild(gt_arr[0]);

Но почему то он не добавляется. Подскажите пожалуйста в чём ошибка?
Притом если добавлять в событие Event.COMPLETE то он всё нормально добовляет…

Александр Мостовой 07.04.2013 14:43

Код AS3:

gt_arr[gt_arr.length] = [i_object_n, ir_object];

У вас получился двумерный массив, т.е. в каждой ячейке лежит еще по массиву
и из кода непонятно что это за переменные i_object_n, ir_object, т.е. собственно lr_movie_clip вы в массив не добавляете
Добавлять лучше методом push
Код AS3:

gt_arr.push(lr_movie_clip)


BenderMTB 07.04.2013 14:49

Сорри. Немного описался. Просто сокращал код для простоты.

Код AS3:

// событие Event.COMPLETE
function loader_event_complete(e:Event):void {
 
        var lr_movie_clip:MovieClip;
 
        lr_movie_clip = MovieClip(e.target.content);
 
 
        gt_arr[gt_arr.length] = [i_object_n, lr_movie_clip]; // i_object_n - номер MovieClip, для поиска по массиву
 
}

Код AS3:

object_cont_swf.addChild(gt_arr[0][1]);

object_cont_swf - пустой фрагмент

Александр Мостовой 07.04.2013 14:57

Уверены, что object_cont_swf на сцене?

BenderMTB 07.04.2013 14:59

уверен

Александр Мостовой 07.04.2013 15:08

Цитата:

Сообщение от BenderMTB (Сообщение 1128634)
уверен

Чем докажите? :)

В смысле если так как говорите должно работать. проверьте все таки тот ли это клип о котором думаете вставив после object_cont_swf.addChild(gt_arr[0]);

Код AS3:

object_cont_swf.graphics.beginFill(0xff0000);
object_cont_swf.graphics.drawCircle(0, 0, 30);

Добавлено через 4 минуты
Ну и сделайте trace (object_cont_swf.numChildren) или посмотрите в дебагере


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

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