Показать сообщение отдельно
Старый 02.03.2011, 01:34
lbsdes вне форума Посмотреть профиль Отправить личное сообщение для lbsdes Найти все сообщения от lbsdes
  № 5  
Ответить с цитированием
lbsdes
 
Аватар для lbsdes

Регистрация: Nov 2008
Сообщений: 101
Вот есть галерея, берутся картинки через xml, которые в папке images лежат, как узнать, когда будет конец анимации с этими картинками, как это узнать?

вот код:
Код AS1/AS2:
stop();
 
mc.mcDescriptionBox.titleTxt.embedFonts = true;
mc.mcDescriptionBox.discTxt.embedFonts = true;
 
Stage.scaleMode = "noScale";
import mx.transitions.Tween;
import mx.transitions.easing.*;
////////////////////////////////////
var imagesArray:Array = new Array();
var titleArray:Array  = new Array();
var discArray:Array   = new Array();
 
mcDescriptionBox.discTxt.autoSize = true;
 
var imagesData:XML =new XML();
imagesData.ignoreWhite = true;
imagesData.onLoad=loadImagesData;
imagesData.load("images.xml");
 
var count:Number = 0;
var fadeSpeed:Number = 5;
var imageDuration:Number = 5;
var descriptionComeSpeed:Number = 1;
 
var createImageMC:MovieClip;
var prevMC:MovieClip;
 
var my_mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
 
mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void  {
	loadingText._x = imageWidth  * 0.5;
	loadingText._y = imageHeight * 0.5;
	var pctLoaded:Number = Math.ceil(100*(numBytesLoaded/numBytesTotal));
	loadingText._visible = true;
	loadingText.txt.text = pctLoaded+"%";
};
 
mclListener.onLoadComplete = function(mc:MovieClip):Void  {
	loadingText._visible = false;
	changeImage();
	interval = setInterval(loadImage, (imageDuration*1000));
};
 
my_mcl.addListener(mclListener);
 
function loadImagesData():Void {
 
	imageWidth    = imagesData.firstChild.attributes.width;
	imageHeight   = imagesData.firstChild.attributes.height;
	fadeSpeed     = imagesData.firstChild.attributes.fade;
	imageDuration = imagesData.firstChild.attributes.duration;
	descriptionComeSpeed = imagesData.firstChild.attributes.textSpeed;
	mcDescriptionBox.discTxtBg._alpha = imagesData.firstChild.attributes.textTransparent;
 
	var imagesLength:Number = imagesData.childNodes[0].childNodes.length;
	for (var i:Number = 0; i < imagesLength; i++)
	{
		var imagePath:String = imagesData.childNodes[0].childNodes[i].attributes.path;
		var titleText:String = imagesData.childNodes[0].childNodes[i].attributes.title;
		var discText:String  = imagesData.childNodes[0].childNodes[i].childNodes[0].firstChild.nodeValue;
		imagesArray.push(imagePath);
		titleArray.push(titleText);
		discArray.push(discText);
	}
	loadImage();
}
 
function loadImage() {
	createImageMC = mcImageHolder.createEmptyMovieClip("imgContener"+count, count);
	my_mcl.loadClip(imagesArray[count],createImageMC);
	clearInterval(interval);
}
 
function changeImage() {
	var tw:Tween = new Tween(prevMC, "_alpha", Strong.easeOut, 100, 0, fadeSpeed, true);
	mcDescriptionBox._x = 0;
	mcDescriptionBox.titleTxt.text     = titleArray[count];
	mcDescriptionBox.discTxt.text      = discArray[count];
	mcDescriptionBox.discTxtBg._width  = imageWidth;
	mcDescriptionBox.discTxtBg._height = mcDescriptionBox.discTxt._height+40;
 
	var tw:Tween = new Tween(createImageMC, "_alpha", Strong.easeOut, 0, 100, fadeSpeed, true);
	if(imagesData.firstChild.attributes.anim == "1") var tw:Tween = new Tween(mcDescriptionBox, "_y",  Strong.easeOut, -mcDescriptionBox._height, -(mcDescriptionBox._height)+mcDescriptionBox._height-5, descriptionComeSpeed, true);
	else var tw:Tween = new Tween(mcDescriptionBox, "_y",  Bounce.easeOut, -mcDescriptionBox._height, -(mcDescriptionBox._height)+mcDescriptionBox._height-5, descriptionComeSpeed, true);
 
	prevMC = createImageMC;
	count++;
	if (count >= imagesArray.length) count = 0;
}
куда нужно этот код вставить?

Код AS1/AS2:
import flash.external.*;
ExternalInterface.call('closeZanaves');
подскажите пожалуйста?