Форум 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)
-   -   slide show => как? (http://www.flasher.ru/forum/showthread.php?t=102399)

solo19770701 14.10.2007 19:21

slide show => как?
 
Всем доброго времени суток. Есть вопрос. Решил я замутить что то типа слайд шоу на моей страничке, но как это полностью реализовать не моку понять. Направьте на путь истиный. Вообщем как я это вижу
Код:

startSlideShow_btn.on Press = function(){
viewer_mc.loadMovie("pic01")// это можно и через массив задать, но как это первый вопрос.
delay 4sec// вот здесь второй вопрос, как организовать задержку перед загруской второй и последующих какринок?
viewer_mc.loadMovie("pic02") // и так далее пока не дойдет до последней картинки,
потом все начинается с начала.
loop back// здесь все должно начинаться с начала.
};

Если у кого то есть более красивое решение, помогите,покажите. Спасибо.:)

Mnilionic 14.10.2007 19:57

1. напишите функцию, которая загружает и показывает одну картинку.
2. Напишите функцию, которая будет вызывть первую через определённый интервал времени.

Ostgur 14.10.2007 21:12

1. setTimeout(function, delay, arguments);
2. если должно начинаться с начала, так начинай, делай массив(array), если его текущий элемент равен общему кол-ву элементов(Array.length-1), то начинай сначала.

screamge 14.10.2007 22:09

Код:

on Press
Выдаст ошибку.

solo19770701 18.10.2007 07:39

Всем доброго времени суток. Наконец то я смог добраться до компа, что бы сотворить что то свое. Пытаюсь наконец то домучать slide show, вот к чему я пришел
Код:

for (var i = 1; i<=16; i++) {
        var id = "";
        if (i<10) {
                id = "0"+String(i);
        } else {
                id = String(i);
        }
        var viewer = ["pic"+id+".jpg"];
        viewer.url = "../pic/2d/pic"+id+".jpg";
        Button_btn.onPress = function() {
                setInterval(function() {viewer_mc.loadMovie(viewer.url);}, 2000);
        }
};

картинки начинаются с pic01 до pic16. Все работает, кроме одного маленького ню нюанса :umnik2: , все время показывается одна и таже картинка а именно последняя из списка. Похоже что цикл пролетает почему то на последнюю картинку где и зацикливается, о как сказал.
Помогите пожалюйста. Как заставить проигрывать все картинки? Направте на путь истиный.:eek:

Ostgur 18.10.2007 09:28

Код:

var i = 1
loadMCclip() = function(){
        var id = "";
        if (i<10) {
                id = "0"+String(i);
        } else {
                id = String(i);
        }
        var viewer = ["pic"+id+".jpg"];
        viewer.url = "../pic/2d/pic"+id+".jpg";
        viewer_mc.loadMovie(viewer.url);
        i++;
}

Button_btn.onPress = function() {
                setInterval(loadMCclip(), 2000);
}

setInterval уже предполагает цикл, только зависимый от времени, поэтому никакие другие циклы, типа for не нужны.

udaaff 18.10.2007 09:52

Цитата:

Сообщение от Ostgur
Код:

var i = 1
loadMCclip() = function(){
        var id = "";
        if (i<10) {
                id = "0"+String(i);// тут можно без явного приведения типов обойтись
        } else {
                id = String(i);
        }
        var viewer = ["pic"+id+".jpg"];
        viewer.url = "../pic/2d/pic"+id+".jpg";
        viewer_mc.loadMovie("../pic/2d/pic"+id+".jpg");
        i++;
}

Button_btn.onPress = function() {
                setInterval(loadMCclip(), 2000);
}


Красным лишее выделено

ps: Если картинка не успеет загрузиться, на что это будет похоже?
Надо использовать класс MovieClipLoader, чтобы проконтролировать процесс загрузки. Успела загрузиться за 2 секунды -- грузим новую, нет -- ждем пока загрузиться, после загрузки новую начинаем грузить.

solo19770701 19.10.2007 08:26

Всем доброго времени суток. Рано, как оказалось я радовался. Все что ребята мне помогли с setInterval() работает. Но тут я столкнулся с другой проблеммой. Как все это остановить? Я пытался через clearInterval(). Но дело в том, что после применения clearInterval(), слайд шоу больше не запускается, т.к. setInterval() просто удалена из флеша. У кого нить есть какие нибудь идеи? Как можно организовать запуск, остановку/паузу, продолжить. Здесь можно лицезреть к чему я пришел.
Код:

stop();

var i=1;
loadMCclip = function(){
        var id = "";
        if (i<10) {
                id = "0"+String(i);
        } else {
                id = String(i);
        }
    movie_mc.loadMovie("../pic/fashion/pic"+id+".jpg");
        i++;
                if(i==16){
                        i=1;
                };
}

var slideShow = setInterval(loadMCclip, 2000);

Button_btn.onPress = function() {
                slideShow;
}

stop_btn.onPress = function(){
        clearInterval(slideShow);
};

Но как видно, все насмарку. Може можно как то через setTimeout()?:wacko:

Ostgur 19.10.2007 08:31

втыкай...
 
Код:

stop();

var i=1;
loadMCclip = function(){
        var id = "";
        if (i<10) {
                id = "0"+String(i);
        } else {
                id = String(i);
        }
    movie_mc.loadMovie("../pic/fashion/pic"+id+".jpg");
        i++;
                if(i==16){
                        i=1;
                };
}

function slideShow(stopper){
if(stopper == 0){
var slideS = setInterval(loadMCclip, 2000);
} else if(stopper == 1){
clearInterval(slideS);
}
}

Button_btn.onPress = function() {
                slideShow(0);
}

stop_btn.onPress = function(){
                slideShow(1);
};


udaaff 19.10.2007 10:20

Код:

button_btn.onPress = function() {
        slideShow = setInterval(loadMCclip, 2000);
}

stop_btn.onPress = function() {
        clearInterval(slideShow);
};

Цитата:

Сообщение от Ostgur
Код:

function slideShow(stopper){
if(stopper == 0){
var slideS = setInterval(loadMCclip, 2000); // без var
} else if(stopper == 1){
clearInterval(slideS);
}
}


.....


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

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