Форум 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)
-   -   Галерея на XML (http://www.flasher.ru/forum/showthread.php?t=109564)

Altera Pars 17.03.2008 01:14

Галерея на XML
 
Проблема возникла у меня.... буду очень признателен, если в мне поможете. Хочу сделать галерею на флеше с использованием XML (все фотки через неё грузятся), и у меня ступор возник на ранних стадиях. Фоток будет много, но в одном ряду их может быть не больше 5. То есть 6-ая перекидывается на новую строчку. Но это у меня не полуяается осуществить...

Код:

function loadXML(loaded) {
        if (loaded) {
                xmlNode = this.firstChild;
                image = [];
                total = xmlNode.childNodes.length;
                for (i=0; i<total; i++) {
                        image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
                        description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
                }
                LoadImages();
        } else {
               
                content = "file not loaded!";
        }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("image.xml");

/////////////////////////////////////

/////////////////////////////////////
        p = 0;
        g = 150;
        j = 0;
function LoadImages() {

        //total = 7;
        for (i=0; i<total; i++) {
                //while (j<=6) {
                        var line:MovieClip = this.createEmptyMovieClip('my_mc'+i,this.getNextHighestDepth());
                        line.loadMovie(image[i],i);
                        j++;
            if(j > 4) {
                        line._y = g;
                        g = g + 150;
                        p = 0;
                        line._x = p;
                        j = 0;
                        //line._y = g;
                        //line._x = p;
                }
                else {
                        line._x = p;
                        p = p + 150;

                }

        }
               

}
//}


Fann 17.03.2008 01:18

замени условие j>4 на i%4==0

Altera Pars 17.03.2008 01:39

Не работает...

greenya 17.03.2008 02:00

Я вот одного не понимаю, ты определяешь и заполняешь массив images в loadXML()... LoadImages() обращется тоже к массиву images... переменная images глобальная?

udaaff 17.03.2008 03:00

Код:

var total:Number = 21;
var limit:Number = 5;

var m:Number = Math.floor(total / limit) + 1;
var n:Number = limit;

var c:Number = 0;

var currentX:Number = 0;
var currentY:Number = 0;
var cellHeight:Number = 50;
var cellWidth:Number = 50;

for (var i:Number = 0; i < m; i++)
{
        for (var j:Number = 0; j < n; j++)
        {
                if (++c > total)
                        break; // return
                       
                var movieClip:MovieClip = attachMovie("movieClip", "movieClip" + i + j, getNextHighestDepth());
                movieClip._x = currentX;
                movieClip._y = currentY;
               
                currentX += cellWidth;
        }
        currentX = 0;
        currentY += cellHeight;
}

Зачем сначала массив создавать, а потом на основании этого массива галерею выстраивать, если можно сразу на основе xml ее построить?

Altera Pars 17.03.2008 18:06

Почему действия раздаются только последней картинке?!?!
Код:

line=this.createEmptyMovieClip("clip"+i, i);
new_line = line.createEmptyMovieClip("mc_clip"+i, line.getNextHighestDepth());
          new_line.loadMovie(image[i],i);
          varLineCount = Math.floor(i/5);
          line._y = varLineCount*(150);
          line._x = i%5*(150);
          line.onPress = function() {
              new_line.startDrag();
          }
          line.onRelease = function() {
              line.stopDrag();
          }

    }
}


udaaff 17.03.2008 20:06

Код:

line.onPress = function()
{
    this.startDrag();
}
line.onRelease = function()
{
    this.stopDrag();
}



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

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