Показать сообщение отдельно
Старый 22.06.2012, 14:57
maritca вне форума Посмотреть профиль Отправить личное сообщение для maritca Найти все сообщения от maritca
  № 8  
Ответить с цитированием
maritca

Регистрация: Mar 2012
Сообщений: 12
Гм... давайте я приведу весь код целиком...

Код AS3:
import com.greensock.*;
import com.greensock.easing.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.navigateToURL;
 
var xml:XML;
var images:Array = new Array();
var imagesLink:Array = new Array();//------------------------------------
var imagesText:Array = new Array();//------------------------------------
var totalImages:Number;
var nbDisplayed:Number =3;
var imagesLoaded:int = 0;
var slideTo:Number = 0;
var imageWidth = 131; 
 
var container_mc:MovieClip = new MovieClip();
slider_mc.addChild(container_mc);
container_mc.mask = slider_mc.mask_mc;
 
function loadXML(file:String):void{
	var xmlLoader:URLLoader = new URLLoader();
	xmlLoader.load(new URLRequest(file));
	xmlLoader.addEventListener(Event.COMPLETE, parseXML);
}
 
function parseXML(e:Event):void{
xml = new XML(e.target.data);
totalImages = xml.children().length();
loadImages();
}
 
function loadImages():void{
for(var i:int = 0; i<totalImages; i++){
 var loader:Loader = new Loader();
 loader.load(new URLRequest("images/"+String(xml.children()[i].@src)));
 images.push(loader);
 imagesLink.push(xml.children()[i].@link);//-------------------------------------------
 imagesText.push(xml.children()[i].@text);//-------------------------------------------
 loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress);
 loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
}
}
 
function onProgress(e:ProgressEvent):void{
loading_txt.text = "Loading " + imagesLoaded + " / " + totalImages;
}
 
function onComplete(e:Event):void{
imagesLoaded++;
if(imagesLoaded == totalImages){
 loading_txt.text = "";
 createImages();
}
}
 
function createImages():void{
for(var i:int = 0; i < images.length; i++){
 var bm:Bitmap = new Bitmap();
 var holder:MovieClip=new MovieClip(); //------------------------------------
 bm = Bitmap(images[i].content);
 bm.smoothing = true;
 holder.y= i*imageWidth;//------------
 holder.addChild(bm);//--------------
 //bm.y = i*imageWidth;
 //var currTxt:imText=new imText();
 //currTxt.txt.text=imagesText[i];
 //currTxt.y=50;
 //holder.addChild(currTxt);
 holder.addEventListener(MouseEvent.CLICK,goSite);
 holder.id=i;
 container_mc.addChild(holder); //--------------------------
}
}
 
function goSite(e:MouseEvent) {
var mc:MovieClip=MovieClip(e.target);
navigateToURL(new URLRequest(imagesLink[mc.id]));
}
 
previous_btn.addEventListener(MouseEvent.CLICK,slideLeft);
next_btn.addEventListener(MouseEvent.CLICK,slideRight);
 
function slideLeft(e:MouseEvent):void{
slideTo -= nbDisplayed;
slideContainer();
}
 
function slideRight(e:MouseEvent):void{
slideTo += nbDisplayed;
slideContainer();
}
 
function slideContainer():void{
if(totalImages - slideTo < nbDisplayed)
 slideTo = totalImages - nbDisplayed;
if(slideTo < 0)
 slideTo = 0;
 
TweenLite.to(container_mc,.5,{y:-slideTo*imageWidth,ease:Quad.easeIn});
}
 
//-------------------------------------------------------------------------
//private function setUpListeners():void {
		 btn1.addEventListener(MouseEvent.CLICK,btn1Clicked);
		 btn2.addEventListener(MouseEvent.CLICK,btn2Clicked);
		// btn3.addEventListener(MouseEvent.CLICK,btn3Clicked);
		 //btn4.addEventListener(MouseEvent.CLICK,btn4Clicked);
		 //btn5.addEventListener(MouseEvent.CLICK,btn5Clicked);
		// btn6.addEventListener(MouseEvent.CLICK,btn6Clicked);
//}
 
function btn1Clicked(e:MouseEvent):void {	
	       loadXML("datas.xml");		
      }
function btn2Clicked(e:MouseEvent):void {	
	       loadXML("datas1.xml");		
      }
Может, можно каким-либо образом просто добавить функцию отмены предыдущего клика/загрузки xml в конце, где function btnClicked?