Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Циклическое движение изображений (http://www.flasher.ru/forum/showthread.php?t=140177)

Stalkerok 22.05.2010 14:09

Циклическое движение изображений
 
День добрый, помогите реализовать циклическое движение изображений, по примеру:

http://status-club.ru/upload/mov.gif

сделал но только с одним изображением..
Код AS1/AS2:

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
 
 
var my_speed:Number;
var my_total:Number;
var my_images:XMLList;
 
var my_loaders_array:Array=[];
var my_success_counter:Number=0;
var my_playback_counter:Number=0;
 
var my_slideshow:Sprite = new Sprite();
var my_image_slides:Sprite = new Sprite();
 
var my_timer:Timer;
var my_prev_tween:Tween;
var my_tweens_array:Array=[];
 
var my_xml_loader:URLLoader = new URLLoader();
my_xml_loader.load(new URLRequest("slideshow.xml"));
my_xml_loader.addEventListener(Event.COMPLETE, processXML);
var preloader:preloader_vc = new preloader_vc();
 
stage.scaleMode = "noScale";
stage.align = "TL";
 
function processXML(e:Event):void {
 
        var my_xml:XML=new XML(e.target.data);
        my_speed=my_xml.@SPEED;
        my_images=my_xml.IMAGE;
        my_total=my_images.length();
 
        loadImages();
 
        my_xml_loader.removeEventListener(Event.COMPLETE, processXML);
        my_xml_loader=null;
 
}
 
function loadImages():void {
 
        for (var i:Number = 0; i < my_total; i++) {
                var my_url:String=my_images[i].@URL;
                var my_loader:Loader = new Loader();
                my_loader.load(new URLRequest(my_url));
                my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
                my_loaders_array.push(my_loader);
        }
 
        preloader.x = (stage.stageWidth - preloader.width)/2;
        preloader.y = 150;
        addChild(preloader);                       
 
}
 
function onComplete(e:Event):void {
 
        my_success_counter++;
        if (my_success_counter==my_total) {
                startShow();
        }
 
        var my_loaderInfo:LoaderInfo=LoaderInfo(e.target);
        my_loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
 
}
 
function startShow():void {       
 
        removeChild(preloader);
        preloader=null;
 
        addChild(my_slideshow);
        my_slideshow.addChild(my_image_slides);
 
        nextImage();
 
        my_timer=new Timer(my_speed*1000);
        my_timer.addEventListener(TimerEvent.TIMER, timerListener);
        my_timer.start();
 
}
 
function nextImage():void {
 
        var my_image:Loader=Loader(my_loaders_array[my_playback_counter]);
        my_image_slides.addChild(my_image);       
        my_tweens_array[0]=new Tween(my_image, "x", Strong.easeOut, 0, stage.stageWidth, 1, true);
 
}
 
function timerListener(e:TimerEvent):void {
 
        hidePrev();
 
        my_playback_counter++;
        if (my_playback_counter==my_total) {
                my_playback_counter=0;
        }
        nextImage();
 
}
 
function hidePrev():void {
 
        my_image_slides.removeChildAt(0);
 
}


slideshow.xml
Цитата:

<?xml version="1.0" encoding="utf-8"?>

<SLIDESHOW SPEED="1">

<IMAGE URL="image1.jpg" />
<IMAGE URL="image2.jpg" />
<IMAGE URL="image3.jpg" />
<IMAGE URL="image4.jpg" />
<IMAGE URL="image5.jpg" />

</SLIDESHOW>
Добавлено через 44 часа 45 минут
может где готовое решение уже есть? просто не могу найти.


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

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