Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загадочные тайны языка AS3 или не вижу мувик на сцене! (http://www.flasher.ru/forum/showthread.php?t=161918)

swing1991 28.07.2011 23:13

Загадочные тайны языка AS3 или не вижу мувик на сцене!
 
Здравствуйте,мозг на гране разрыва.Делаю мини-галерею.Просмотр реализую так:
Беру создаю много "элементов -контейнеров" фотографий,поскольку галерея рассчитана на много альбомов.Помещаю все контейнеры в массив,потом при выборе альбома нового,удаляю контейнер[0] и добавляю контейнер[1] ...Контейнер ДОБАВЛЯЕТСЯ,contains возвращает true,visible =true,ширина 400 ,высота столько-же,координаты (0:0),но все равно я не вижу контейнер при выборе нового альбома!Тоесть первый альбом загружается нормально(он рандомный из всего xml),но если я выбираю новый,то флеш заходит в тупик.Ошибок нет.
Куски кода:
1.Создание контейнеров:
Код AS3:

 
fill();
function fill():void
{
        for (var i:uint=0;i<num;i++)
        {
                gallery1 = new MovieClip();
                currObj.push(gallery1);
        }
}

2.Эта функция грузит ссылки на фотки в выбранных альбомах
Код AS3:

 
function LoadXML(e:Event=null):void {
//массив с фотками был тут
        numphot=img.length;
        prevCount++;
}

3.Эта функция происходит при каждой загруженной фотке:
Код AS3:

 
function loadedImage(e:Event):void {
        ttn++;
        var border:MovieClip = new MovieClip();
        var myOb=e.target.loader;
        currObj[prevCount].addChild(myOb);
//рамочка,размеры и блаблабла
        if (ttn==numphoto)
        {
                removeChild(loader);
                gallery.addChild(currObj[prevCount]);
                trace('Последний объект загружен и добавлен!');
        }
}

4.Это происходит при выборе альбома:
Код AS3:

 
function tn_click(e:MouseEvent):void {
        gallery.removeChild(currObj[prevCount]);
        ttn=0;
        current=0;
        LoadXML();
}

В Output ошибок нет,даже выводит текст про то что последний объект добавился,мувиклип находится на сцене и имеет numChildren более нуля.

Я не новичок,потому попрошу не кидать мне советы от кепа :)
Надеюсь на вашу помощь!

СлаваRa 28.07.2011 23:36

Судя по коду, при выборе альбома вы вызываете tn_click, удаляете со сцены currObj[prevCount], вызываете LoadXML, в которой изменяете numphot и prevCount и все. Вызова loadedImage после всех этих действий я не заметил, поэтому currObj[prevCount] и на сцену не добавляется.
Или покажите весь код, таким какой он есть.

swing1991 28.07.2011 23:56

Цитата:

Сообщение от я
Я не новичок,потому попрошу не кидать мне советы от кепа /

Я не мог парится много часов над такой мелочью,ошибку нашел-бы.
Цитата:

Сообщение от я
Контейнер ДОБАВЛЯЕТСЯ,contains возвращает true,visible =true,ширина 400 ,высота столько-же,координаты (0:0),но все равно я не вижу контейнер при выборе нового альбома!

Тоесть все функции проходят и даже количество детей gallery после добавления currObj[prevCount] изменяется с 0 на 1 .Тоесть все добавлено,размеры видимые,visible =true ,координаты в пределе видимости,но все равно не вижу контейнер с фотками.В контейнер фотки добавляются.

СлаваRa 29.07.2011 00:04

Покажи весь код, манна на телепатию кончилась.

swing1991 29.07.2011 00:11

Это части отвечающие за добавление.Другие куски кода никак не могут повлиять на это,никаким боком,можете быть уверенным...

СлаваRa 29.07.2011 00:16

Ну тогда у вас все правильно, и работает как и должно.

serogah 29.07.2011 00:17

Видимо gallery в список отображения не добавляется

swing1991 29.07.2011 00:27

Цитата:

Сообщение от serogah (Сообщение 1015659)
Видимо gallery в список отображения не добавляется

Код AS3:

trace(currObj[prevCount] is DisplayObject);

Цитата:

Сообщение от Output
true

Поскольку я делаю addChild он должен добавится.Я полагаю что это баг флеша.Как обойти?Был-бы очень благодарен.

СлаваRa 29.07.2011 00:31

До тех пор пока вы не покажете весь код, будет длиться эта игра в телепатов (видимо..., невидимо...), толку от этого никакого, разве что флейм разводить. У флеша, насколько я знаю, не было подобных багов с addChild.

КорДум 29.07.2011 00:34

Цитата:

Я не новичок,потому попрошу не кидать мне советы от кепа
По коду видно обратное. Также видно, что вы НЕ ДОБАВЛЯЕТЕ gallery в отображение.


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

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