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

waytolight 15.03.2007 11:40

Подгрузка текста в slide show к каждой картинке
 
Вложений: 1
Привет flash-мастерам
У меня вопрос видимо связанный с правильной сборкой составляющих файла и с Action Script.
Исходник FLA прилагется к сообщению. С ним проще объяснять что мне не ясно.
Я скачал заготовку Slide Show c сайта www.actionscrpt.com. Заготовка сделана в Италии. Я ещё пока не слишком силён в Итальянском
чтобы доконца понять подписи к скриптам во frame'ах с Action Script (в нём я тоже не силён), но всё-же в основном разобрался что куда.
Там есть два основных действия.
1. Картинки из определённой папки сами загружаются и выгружаются в основной фильм. Всё происходит в назначенной последовательности и с назначенной скоростью. Файлы-картинки (JPG) названы просто цифрами (1,2,3,4...и т.д.)

2. Есть меню из иконок. Они выложены полоской снизу. Полоска иконок - отдельный Movie Clip. Полоска скользит вправо-влево, реагируя
на движение курсора мышки. При нажатии на иконку вызывается нужная картинка. И уже начиная с неё далее происходит сменя картинок в
заданной последовательности в основной части.

Картинки иконок тоже подгружаются из отдельной папки в оболочку кнопок (Названия файлов иконок совпадают т.е. цифры совпадают с
такими же у основных картинкок)
Внутри полоски создан компонент. С помощью его параметров (каждая кнопка подписана цифрой-названием иконки) управляется загрузка
основной картинки и загрузка иконки-картинки).
ВСЁ КЛАСНО РАБОТАЕТ!!! ОЧЕНЬ УДОБНО СДЕЛАНО!!!НО МНЕ НУЖНО ЧТОБЫ при нажатии на кнопку-иконку, в определённую область основного фильма загружался текст-описание из определённой папки и определённого txt.файла. Также эти описания должны появляться и исчезать вместе с картинками в основном потоке. Я создал отдельную папку с txt.файлами они названы также (номерами) как и картинки
ассоциированные с ними.
Полагаю что это нужно сделать используя параметры компонента для кнопок с иконками и добавить нужный action-script в основную часть.
Но я не знаю как это сделать и что именно. Подскажите пожалуйста куда копать хотя-бы?

Вот script'ы из файла:

Код:

Основной script

direzione=0;
// le immagini devono avere lo stesso nome nelle due cartelle
// nelle icon dimensione 60x60
this.pathToPics = "animation/";
// array con le foto nelle cartelle
this.pArray = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg","7.jpg","8.jpg","9.jpg", "10.jpg", "11.jpg", "12.jpg", "13.jpg",

"14.jpg", "15.jpg", "16.jpg", "17.jpg", "18.jpg", "19.jpg", "20.jpg", "21.jpg", "22.jpg", "23.jpg", "24.jpg", "25.jpg", "26.jpg",

"27.jpg", "28.jpg", "29.jpg", "30.jpg", "31.jpg", "32.jpg", "33.jpg", "34.jpg", "35.jpg"];
this.fadeSpeed = 8;
this.pIndex = 1;
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
MovieClip.prototype.newPhoto = function(d) {
        direzione=direzione-1;
        this.pIndex =direzione;
        trace(direzione);
        if (this.pIndex<0) {
                this.pIndex += this.pArray.length;
        }
        this.onEnterFrame = fadeOut;
       
};
MovieClip.prototype.changePhoto = function(d) {
                this.pIndex = (this.pIndex+d)%this.pArray.length;
        if (this.pIndex<0) {
                this.pIndex += this.pArray.length;
        }
        this.onEnterFrame = fadeOut;
       
};
MovieClip.prototype.fadeOut = function() {
        if (this.photo._alpha>this.fadeSpeed) {
                this.photo._alpha -= this.fadeSpeed;
        } else {
                this.loadPhoto();
        }
};
MovieClip.prototype.loadPhoto = function() {
                var p = _root.photo;
                p._alpha = 0;
        p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
        this.onEnterFrame = loadMeter;
};
MovieClip.prototype.loadMeter = function() {
        var i, l, t;
        l = this.photo.getBytesLoaded();
        t = this.photo.getBytesTotal();
        if (t>0 && t == l) {
                this.onEnterFrame = fadeIn;
        } else {

        }
};
MovieClip.prototype.fadeIn = function() {
        if (this.photo._alpha<100-this.fadeSpeed) {
                this.photo._alpha += this.fadeSpeed;
        } else {
                this.photo._alpha = 100;
                this.onEnterFrame = null;
        }
};
this.onKeyDown = function() {
        if (Key.getCode() == Key.LEFT) {
                this.changePhoto(-1);
        } else if (Key.getCode() == Key.RIGHT) {
                this.changePhoto(1);
        }
};
Key.addListener(this);

Script скользящей полоски иконок:
Код:

onClipEvent (load)
{
  xcenter=375;
  speed=1/150;
}
onClipEvent (enterFrame)
{
  var distance=_root._xmouse-xcenter+50;
  _x+=(distance*speed);
  if (_x > 0) _x=-1920;
  if (_x < -1920) _x=0;
  }

Script внутри компонента внутри полоски для каждой кнопки:

Во frame'е на слое:

Код:

icona.loadMovie("icon/"+ico+".jpg");
И на кнопке:

Код:

on (release) {       
        _root.direzione=ico;
        _root.newPhoto();               
}

В параметрах component'а:

ico... 1, 2, 3 и т.д.

iNils 15.03.2007 12:02

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

CorC 15.03.2007 12:38

грузи текст в созданные TextField
скрипт в районе
Код:

p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
this.onEnterFrame = loadMeter;

при помощи LoadVars из тех текстовиков

З.Ы.: как пользоваться LoadVars нужно найти по поиску


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

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