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

Код 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 минут
может где готовое решение уже есть? просто не могу найти.