Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Проблема с loadMovie (http://www.flasher.ru/forum/showthread.php?t=78105)

_kos 09.04.2006 16:18

Проблема с loadMovie
 
Привет всем! Сделал фотогалерею с предпросмотром в отдельном swf клипе. В этой галерее несколько разделов с разнами фотографиями. Разделы берут описание и сами фотографии из соответствующих XML файлов. Т.е. выбираешь раздел - загружается предпросмотр из XML, хочешь посмотреть коментарий кликаешь повыбранной превьюшке и т.д., короче всё стандартно. В свою очередь эта галерея загружается в основной ролик через laodMovie ("galery.swf", ...), все вроде хорошо, только превьюшки не загружаются в galery.swf, там где они должны быть - пусто. Подскажите в чем можнт быть проблема?

xcho_ 09.04.2006 22:59

было б хорошо увидеть скрипт...
а так проверь стоят ли координаты правильно..

aksios 09.04.2006 23:11

А случаем вы не пользовали волшебное слово _root или абсолютных путев в galery.swf?

_kos 10.04.2006 23:42

Используется _parent, абсолютных путей не используется. Дело не в координатах, я на событие загрузки превьюшек trace вставил, он не появляется, т.е. ф-ция загрузки и парсинга XML не работает... А потом ч координатами разве могут быть проблемы, когда всё происходит в отдельном мувике...
Если интересно приведу исходный код. Всё в одном кадре клипа, к-рый потом вставляется под маску на главную timline (_level0).

Код:

//=========================================================
//Загружаем изображения из XML файла
//f = "XML/data.xml";
//f = "XML/2.xml";
function showpart(f){
//загрузка и парсинг XML
xmldata = new XML();
xmldata.ignoreWhite = true;
xmldata.load(f);
_global.x_old;
_global.all;
_global.h;
_global.x_base;
_global.x_center;
_global.x_r;
_global.x_l;
_global.x_l2;
_global.x_r2;
_global.go;
_global.revers;
_global.dx;
xmldata.onLoad = function(success) {
//Удаляем предидущие превьюшки
        for (i=0; i<=all; i++){
                tmp["mc"+(i-1)].removeMovieClip();
        }       
        _global.Projects = new Array();
        xmldata.parseXML(xmldata);
        i = 1;
        tmp = _parent.img_line_mc;//Этот мувик на главной линейке
        _root.big.descr="";
        maska = _parent.maska_mc;//Маска на главной линейке
        while (xmldata.childNodes[0].childNodes[i-1]) {
                Projects[i] = new Object();
                Projects[i].img = xmldata.childNodes[0].childNodes[i-1].attributes.img;
                Projects[i].price = xmldata.childNodes[0].childNodes[i-1].attributes.price;
                Projects[i].kol = xmldata.childNodes[0].childNodes[i-1].attributes.kol;
                Projects[i].maker = xmldata.childNodes[0].childNodes[i-1].attributes.maker;
                Projects[i].coment = xmldata.childNodes[0].childNodes[i-1].childNodes[0];
                com=Projects[i].coment+"<br>"+"<b>Производитель</b> "+Projects[i].maker+"<br>"+"<b>Цена</b> "+Projects[i].price+"<br>"+"<b>Количество на поддоне </b>"+Projects[i].kol;
                tmp.attachMovie("mc", ("mc"+(i-1)), i, {img_pre:Projects[i].img, coment:com});
                tmp["mc"+(i-1)]._xscale = 50;
                tmp["mc"+(i-1)]._yscale = 50;
                tmp["mc"+(i-1)]._x = (i-1)*(tmp["mc"+(i-1)]._width+2);
                i++;
        }
        all = Projects.length-1;
        w = tmp["mc0"]._width;
        h = tmp["mc0"]._height+10;
        ww = tmp._width;
        x_base = tmp._width;
        x_center = maska._x;
        //tmp._x = x_base;
       
        x_r = maska._x-maska._width/2+17;
        x_l = x_r-(tmp._width-maska._width)-30;
        x_l2 = maska._x+maska._width/2;
        x_r2 = maska._x-maska._width/2;
        tmp._x=x_r;
        tmp._y = 225.5;
        _parent.r_mc._height = h;
        _parent.l_mc._height = h;
        _parent.r_mc._x = maska._x+maska._width/2-_parent.r_mc._width/2;
        _parent.l_mc._x = maska._x-maska._width/2+_parent.l_mc._width/2;
        _parent.r_mc._y = _parent.l_mc._y=tmp._y+h/2;
        tmp.onEnterFrame = function() {
                if (go) {
                        revers = true;
                        if (this._x>=x_l && this._x<=x_r) {
                                this._x -= dx;
                        } else if (this._x<=x_l && dx<=0) {
                                this._x = this._x-dx;
                        } else if (this._x>=x_r && dx>=0) {
                                this._x = this._x-dx;
                        } else {
                                dx = 0;
                        }
                } else {
                        //-1
                        if (revers) {
                                if (dx>0) {
                                        if (dx<0) {
                                                revers = false;
                                        } else {
                                                if (this._x>=x_l && this._x<=x_r) {
                                                        this._x -= dx;
                                                        dx = dx-dx*0.1;
                                                } else {
                                                        revers = false;
                                                }
                                        }
                                } else {
                                        if (dx>0) {
                                                revers = false;
                                        } else {
                                                if (this._x>=x_l && this._x<=x_r) {
                                                        this._x -= dx;
                                                        dx = dx-dx*0.1;
                                                } else {
                                                        revers = false;
                                                }
                                        }
                                }
                        }
                }
                //-1 
        };
};
//==========================================================       
_parent.onMouseMove = function() {
        tmp = _parent.img_line_mc;
        if (tmp._width>_parent.maska._width){
        if (_parent._ymouse>=tmp._y && _parent._ymouse<=(tmp._y+tmp._height) && _parent._xmouse<=x_l2 && _parent._xmouse>=x_r2) {
                go = true;
                dx = ((_parent._xmouse-x_center)/50)*Math.abs(((_parent._xmouse-x_center)/90));
        } else {
                go = false;
                revers = true;
        }
        }
};
}


дедушко 11.04.2006 00:03

_kos, ты иму для начала пасаветуй впихнуть в клип-загузчик _lockroot=true.

MIX-er 12.04.2006 14:41

прошу прощения а превьюхи нормальные? чем жал и какой флеШ?
просто на сколько я помню 7ка не поддерживала сжатие ЖПГ прогрессив как в 8ке нинаю...

MIX-er 12.04.2006 14:46

а где собственно сам процес загрузки в этом коде??

_kos 12.04.2006 21:21

tmp.attachMovie("mc", ("mc"+(i-1)), i, {img_pre:Projects[i].img, coment:com});
Видишь аттачится клип mc из библиотеки, он аттачится с переменными img_pre собственно превьюшка, coment-комментарий к ней. В самом клипе mc и происходит loadMovie(img_pre...).

_kos 12.04.2006 21:25

_lockroot=true. пробовал - не помогает. Мне кажется дело в маске. Я уже сталкивался с таким глюком. Версия проигрывателя и самого flash - 8. А проблемы не c jpg были в ранних версиях flash, а с gif и png. В 8 версии они устранены.

MIX-er 13.04.2006 13:57

отличный план)))

я гружу картинки которые не видн... но как я их гружу я показывать не буду)))


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

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