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

MariaS 20.12.2006 01:41

Ошибка в слайд-шоу.
 
Суть вот в чем: картинки лежат на сервере, прилинкованными к статьям. Будет написан скрипт, который будет выдергивать линки на картинки и передавать их во флеш. Моя задача сделать само слайд-шоу (картинки показываются поочереди с задержкой). Сейчас оно у меня работает неправильно. Подскажите где ошибка. Вот код:

Код:

_global.imagePath = ["images/dagomys2.jpg", "images/snowy.jpg"];

clip.maxWidth = 550;
clip.maxHeight = 400;

time = 0;

function onEnterFrame()
{
        for (var i = 0; i <= imagePath.length; i++)
        {
                  if (getTimer() > time)
                  {
                        _root.clip.loadImage(imagePath[i]);
                    time = getTimer() + 10000;
                  }
          }
}

clip.loadImage = function(file)
{
        this.image.removeMovieClip();
        this.createEmptyMovieClip("image", 0);
        this.image.loadMovie(file);
        this.onEnterFrame = function()
        {
                var l = this.image.getBytesLoaded();
                var t = this.image.getBytesTotal();
                if (t>0 && l>=t) {
                        // загрузка закончилась
                        delete this.onEnterFrame;
                        this.resize();
                }
        };
};

clip.resize = function()
{
        var ratio_x = this.maxWidth/this.image._width;
        var ratio_y = this.maxHeight/this.image._height;
        if (ratio_x<=ratio_y) {
                // выполняем, если нужно уменьшить,
                // или увеличить+увеличение разрешено
                if (ratio_x<1 || this.allowEnlarge) {
                        // ширина равна максимальной
                        // а высота в соответствии с пропорцией
                        this.image._width = this.maxWidth;
                        this.image._yscale = this.image._xscale;
                }
        } else {
                // выполняем, если нужно уменьшить,
                // или увеличить+увеличение разрешено
                if (ratio_y<1 || this.allowEnlarge) {
                        // высота равна максимальной
                        // а ширина в соответствии с пропорцией
                        this.image._height = this.maxHeight;
                        this.image._xscale = this.image._yscale;
                }
        }
        // центровка
        this.image._x = Math.round((this.maxWidth-this.image._width)/2);
        this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};

[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

DarkLight 20.12.2006 02:03

Как минимум:
- Юзаем MovieClipLoader
- i <= imagePath.length - не <= а <
- код в постах форума надо оформлять тегами


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

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