Слайд-шоу по N картинок
Суть такова - есть масив в котором храняться изображения надо выстоить изображения один под вторым с неким отступом (например 10px) по X штук (например 7). И зациклить все. + если масив состоит из 10 элементов то 1-й раз показывапет 0-6 элемент, второй 7,8,9,0,1,2,3 и т.д. (ну что бы всегда их было X штук)
После построения была какая то простенькая анимация (ну там плавное появление и исчезновение)
Сам я далек от AS, я больше PHP, а тут такое дело надо зделать ((
Нашел отдельные части которые подходят к задуманому, а вот собрать все вместе головы не хвататет.
Может кто поможет, нашел http://00--00.livejournal.com/76544.html вот такой скриптик
и нашел http://www.flasher.ru/forum/showthread.php?p=782077 не знаю от чего отталкиваться.
Добавлено через 6 часов 56 минут
Придумал облегченную версию идеи.
AS посылает запрос на PHP, оттуда возвращаеться XML с нужной частью масива
т.е. у нас всегда будет в масиве N элементов.
Написал вот так. коряво, но чтото в цикле не получилось зделать
Код AS1/AS2:
var arrpic:Array = ["img/img01.gif","img/img02.gif","img/img03.gif","img/img04.gif","img/img05.gif","img/img010.gif","img/img07.gif"]
var mclLoader:MovieClipLoader = new MovieClipLoader();
var oLoadListener:Object = new Object();
mclLoader.addListener(oLoadListener);
oLoadListener.onLoadInit = function(mcTarget:MovieClip):Void
{
// работа с изображением
mcHolder0._y = 0;
mcHolder1._y = mcHolder0._y + mcTarget._height + 10;
mcHolder2._y = mcHolder1._y + mcTarget._height + 10;
mcHolder3._y = mcHolder2._y + mcTarget._height + 10;
mcHolder4._y = mcHolder3._y + mcTarget._height + 10;
mcHolder5._y = mcHolder4._y + mcTarget._height + 10;
mcHolder6._y = mcHolder5._y + mcTarget._height + 10;
//trace("И его ширина: " + this.mcTarget._height + "\n\r");
};
mcHolder0.createEmptyMovieClip("mcImage", mcHolder0.getNextHighestDepth());
mclLoader.loadClip(arrpic[0], mcHolder0.mcImage);
mcHolder1.createEmptyMovieClip("mcImage", mcHolder1.getNextHighestDepth());
mclLoader.loadClip(arrpic[1], mcHolder1.mcImage);
mcHolder2.createEmptyMovieClip("mcImage", mcHolder2.getNextHighestDepth());
mclLoader.loadClip(arrpic[2], mcHolder2.mcImage);
mcHolder3.createEmptyMovieClip("mcImage", mcHolder3.getNextHighestDepth());
mclLoader.loadClip(arrpic[3], mcHolder3.mcImage);
mcHolder4.createEmptyMovieClip("mcImage", mcHolder4.getNextHighestDepth());
mclLoader.loadClip(arrpic[4], mcHolder4.mcImage);
mcHolder5.createEmptyMovieClip("mcImage", mcHolder5.getNextHighestDepth());
mclLoader.loadClip(arrpic[5], mcHolder5.mcImage);
mcHolder6.createEmptyMovieClip("mcImage", mcHolder6.getNextHighestDepth());
mclLoader.loadClip(arrpic[6], mcHolder6.mcImage);
i=2;
trig_i=1;
this.onEnterFrame = function()
{
if (i>=100) trig_i=0;
if (i<=1) stop(); //считываем другую XML
if (trig_i==1) i++;
if (trig_i==0) i--;
if (i==1) element++;
mcHolder0._alpha=i;
mcHolder1._alpha=i;
mcHolder2._alpha=i;
mcHolder3._alpha=i;
mcHolder4._alpha=i;
mcHolder5._alpha=i;
mcHolder6._alpha=i;
}
т.е. есть mcHolder0 - mcHolder6 мувиков в которые ложаться фотки. Не получаеться равномерно их выставить дуг под другом - может есть желающие помочь, а так же если бы кто подсказал как вышепреведенный пример в цикл запихнуть?
а то все мои потуги
Код AS1/AS2:
for (var i = 0; i<arrpic.length;; i++ ) {
mcHolder+i.createEmptyMovieClip("mcImage", mcHolder+i.getNextHighestDepth());
mclLoader.loadClip(arrpic[i], mcHolder+i.mcImage);
}
не работают
|