AS3.0 XML loading image at different duration
Hi iam new to the Actionscript i have to run each image stay time for differnt duration like example "img1.jpg will be 20sec and img2.jpg will be 10sec" like that.
Can anyone to help me here.
This is the below code i have :
package com{
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
//import flash.display.Graphics;
import flash.events.Event;
//import flash.display.StageScaleMode;
import flash.utils.*;
import fl.transitions.Tween;
import fl.transitions.easing.*;
public class MyMovie extends Sprite {
//declaring variables...
private var myXml:XML;
private var myXMLURL:URLRequest;
private var myLoader:URLLoader;
private var imageList:XMLList;
private var loader:Loader;
private var no:Number = 0;
private var currentImage:Loader;
private var interval:uint = 0;
//private var abc = 0;
//defining cunstructor...
/*public function MyMovie() {
super();
var g:Graphics = this.graphics;
g.clear();
g.beginFill(0x000000, 1);
g.drawRect(0, 0, 768, 1360);
g.endFill();
}*/
public function LoadXml(xmlPath:String = null):void {
var XML_URL:String;
if (xmlPath == null) {
XML_URL = "data.xml";
} else {
XML_URL = xmlPath;
}
myXMLURL = new URLRequest(XML_URL);
myLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
}
private function xmlLoaded(event:Event):void {
myXml = new XML();
myXml = XML(myLoader.data);
imageList = new XMLList();
imageList = myXml.children();
loadImage();
//trace(imageList[no].child("path"));
}
private function loadImage():void {
clearInterval(interval);
if (loader!=null){
loader.unloadAndStop();
loader=null;
}
//abc =5000;
var imagePath:String = imageList[no].child("path");
var imageRequest:URLRequest = new URLRequest(imagePath);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(imageRequest);
//currentImage = loader;
addChild(loader);
}
private function completeHandler(evt:Event):void {
clearInterval(interval);
if (currentImage != null) {
removeChild(currentImage);
}
currentImage = loader;
currentImage.x = (768/2)-(currentImage.width/2);
currentImage.y = (1360/2)-(currentImage.height/2);
//var myTween:Tween = new Tween(currentImage, "alpha", Regular.easeOut, 0, 1, 0.5, true);
//var myTween:Tween = new Tween(currentImage, "x", Strong.easeOut, 0, 0, 1, true);
var myTween:Tween = new Tween(currentImage, "x", Strong.easeOut, 768, 0, 1, true);
myTween.addEventListener("motionFinish", TweenFinishedHandler);
}
private function TweenFinishedHandler(evt:Event):void {
no = no < imageList.length()-1 ? no+1 : 0;
interval = setInterval(loadImage, 3000);
}
}
}
xml file:
<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<img>
<path>images/img1a.swf</path>
</img>
<img>
<path>images/img2a.swf</path>
</img>
<img>
<path>images/img3a.swf</path>
</img>
</root>