Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   глубина (http://www.flasher.ru/forum/showthread.php?t=84829)

admGT 08.09.2006 21:22

глубина
 
Картинки загружаются в _root. На все загруженные картинки устанавливается _visible=false

После чего функция, формирующая слои, имеющая на входе номер слоя и его координаты делает картинки входящие в слой видимыми.

Код:

function layers(num_layer,xx,yy){

********
pic1._visible=true

проблема в том, что при последовательном запуске этой функции для разных слоев, показывается только последний слой с соответствующими для данного слоя картинками.

Я понял, что проблема в глубине и происходит вытеснение видимых клипов теми, которые отрабатываются функцией позже.
Как такое может быть и как побороть?

admGT 08.09.2006 21:23

принимаются любые предположения. Уже голову сломал :)

iNils 08.09.2006 21:26

А теперь все, что вы написали в виде кода или исходника пожалуйста, а то мы тоже голову сломаем, представляю вашу реализацию.

admGT 08.09.2006 22:15

re
 
функция-загрузчик, вроде без проблем
Код:

function loader(nameObj,pic,depth){//Загрузка фоновых картинок
  var picture = this.createEmptyMovieClip(nameObj,depth);
        var tempMovie=picture.createEmptyMovieClip("temp",0);
        picture._visible=false; //делаем картинку невидимой
        var newPicture1:MovieClipLoader=new MovieClipLoader();
        newPicture1.loadClip(pic,tempMovie);
        }

картинки и слои берутся из XML -файла

Функция, формирующая ссылки для загрузки картинок из XML
Код:

function makeLinks(){//создание ссылок для загрузки               

for(index in elements){ //elements - массив содержащий имена картинок
        st=elements[index].toString();
        full=st.split(";");
        //Формирование ссылок к картинкам
  for(rr=0;rr<full.length;rr++){
                  link_str=full[rr].toString();
                  if(link_str.indexOf("src")!=-1){
                          link=link_str.substring(11);
                                                    }
                        depth=index; //Устанавливаем глубину равную индексу массива элементов
               
                  }
                index="aaa"+index;
                loader(index,link,depth);// Вызываем загрузчик для каждой картинки
                 
        }
}

И наконец функция построения слоев
Код:

function trace_layers(num_layer,xx,yy){//Функция разбора элемента массива layers
makeLinks();//загружаем все картинки


        str=layers[num_layer].toString
        my_array=str.split(";");
        foo=my_array.toString();
        per=foo.indexOf("id_element=");
        for(i=0;i<my_array.length;i++){
                arr=my_array[i].toString();
               
                back=arr.indexOf("element_id id");
                if(back!=-1) {back_id=arr.substr(14); //индекс картинки из XML
                               
                b_id=eval("aaa"+back_id);
                b_id._visible=true;
                b_id._x=xx;
                b_id._y=yy;
                       
                }
                }}

Может немного коряво и кода много, но иначе не получилось :)

iNils 09.09.2006 00:11

Ничего я у вас не понял. Давайте исходник, xml и картинки.

admGT 09.09.2006 14:14

re
 
Цитата:

Давайте исходник, xml и картинки
отправлено лично

admGT 10.09.2006 12:46

re
 
Исходник

iNils 10.09.2006 13:26

Я не могу открыть ваш архив, воспользуйтесь зипом, а не раром.

admGT 10.09.2006 13:42

re
 
Исходник

iNils 10.09.2006 14:48

Ужас, а не код.
Если я правильно вас понял, то ваша проблема была в том, что при каждом вызове trace_layers (), у вас вызывалася makeLinks (); Соответственно, после второй загрузки, все ранее загруженные объекты сбрасывались.


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

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