Форум 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=76020)

CREDO 24.02.2006 19:37

Помогите с фотогалереей.
 
Я сделал PHP скрипт, который передаёт ссылки всех jpg фаилов, лежащих в определённой деректории, во flash. Flash же в свою очередь создает нужное количество клипов и грузит в них превьюшки.

Подскажите каким образом можно сделать так, что бы Flash создавал, например 3 строки и 3 столбца, если PHP передаёт количество ссылок больше 9, то дополнительно создаётся кнопка "дальше", при нажатии которой создаётся опять 3 столбца и 3 строки, но в которые уже грузяться следующие превьюшки и так до безконечности.


Пример в портфолио сайта здесь

Usnul 24.02.2006 19:46

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

Homo Sapiens 24.02.2006 20:59

Велика проблема, 9 клипов поставить квадратом. Ты про свойства _x, _y слышал?
А есть другое свойство - _visible.

CREDO 24.02.2006 21:18

Тут всё сложнее я всё програмно делаю. Просто 9 клипов вставить - это лажа.

проблема перейти ко второй строке.

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


Код:

var files:LoadVars = new LoadVars();
files.sendAndLoad("http://"+domain+target+"/Amount.php", files, "GET");
files.onLoad = function() {
        for (count=0; count<this.n; count++) {
                        var position = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
                        images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
                        position._x = (position._width+20)*count;
                        images_mc["cell_"+count].frame_mc.loaders_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&w="+preview, 1);
       
        }


Usnul 24.02.2006 21:23

Цитата:

Сообщение от CREDO
Тут всё сложнее я всё програмно делаю. Просто 9 клипов вставить - это лажа.

проблема перейти ко второй строке.

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


Код:

var files:LoadVars = new LoadVars();
files.sendAndLoad("http://"+domain+target+"/Amount.php", files, "GET");
files.onLoad = function() {
        for (count=0; count<this.n; count++) {
                        var position = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
                        images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
                        position._x = (position._width+20)*count;
                        images_mc["cell_"+count].frame_mc.loaders_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&w="+preview, 1);
       
        }


читай мой пост до тех пор пока не поймешь...

CREDO 24.02.2006 21:27

Я понял твой пост
Нужно создать флаг!
Там в моём скрипте в место this.n будет переменная равная 9, 18 ....и т д.


Но для начала нужно понять, как перенести клипы после каждых 3 - ёх на новую строку.

__i 24.02.2006 21:49

Код:

var count_for_view=9;
var count_row=3;
var cols=0;
for (i=0; i<count_for_view; i++){
if ((i%count_row)==0){
cols++;
}
this.['mc'+i]._x = 20*(i%count_row);
this.['mc'+i]._y = 20*cols;
}


Homo Sapiens 24.02.2006 22:19

Нарисуй на бумажке таблицу из 9 клеточек и поставь в каждой по точке. Вот в таком жее порядке и заполняй. И не ленись. А код элементарен:
Код:

public function PlaceAll():Void
{       
        var x_start:Number = 150;
        var y_start:Number = 60;
        var x:Number = x_start;
        var y:Number = y_start;
       
        var len:Number = collection.length;
        for(var i = 0; i < len; i++) {
                collection[i]._x = x;
                collection[i]._y = y;
               
                x += 100;
                if(i % 4 == 3) {
                        x = x_start;
                        y += 100;
                }
        }
}

Строит таблицу 4 на 3. Догадаешься как изменить?

CREDO 24.02.2006 22:29

public - обязательно?

Homo Sapiens 24.02.2006 22:40

Если ты используешь его в AS2 классе - да, если в коде - не нужен.
collection - имя массива со значениями


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

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