Я сделал простой код для слайд-шоу, которое динамически загружает изображения из подпапки, в зависимости от того, что находится в текстовом файле.
код:
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class slideshow extends MovieClip {
public var listLoader:URLLoader;
public var newImgList:Array;
public var imgX:int = 0;
public var container:MovieClip;
public function slideshow() {
container = new MovieClip();
stage.addChild(container);
listLoader = new URLLoader(new URLRequest("./slideshow.txt"));
listLoader.addEventListener(Event.COMPLETE, initImages);
}
public function initImages(event:Event):void {
var imgList:Array = listLoader.data.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/);
newImgList = new Array();
for(var line:int = 0; line < imgList.length; line++ ) {
if(imgList[line].indexOf(".png") != -1 || imgList[line].indexOf(".jpg") != -1) {
newImgList.push(imgList[line]);
}
}
loadImage();
}
public function loadImage():void {
for(var loaderNum = 0; loaderNum < newImgList.length; loaderNum++) {
var imgLoader = new Loader();
imgLoader.load(new URLRequest("./slideshow/" + newImgList[loaderNum]));
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imgInit);
}
}
public function imgInit(event:Event):void {
var imgBmp:BitmapData = event.target.content.bitmapData;
var img:Bitmap = new Bitmap(imgBmp);
img.height = 150;
img.scaleX = img.scaleY;
img.y = 0;
img.x = imgX;
imgX = (imgX + img.width + 10);
container.addChild(img);
}
}
ну, на самом деле, он работает нормально для меня, за исключением того, что изображения отображаются в почти случайном порядке.
Я полагаю, что код загружает некоторые изображения слишком медленно, поэтому некоторые из них добавляются в мувиклип, хотя они загружаются после того, который должен идти дальше.
так, что я имею в виду:
1.png загружен
1.png добавлено
2.png загружен
3.png загружен
3.png добавлено
2.png добавлено
поэтому мой вопрос:
Есть ли какой-нибудь другой способ, позволяющий сделать слайд-шоу загружать изображения из текстового файла, где перечислены только полные имена изображений (которые находятся в подпапке)?
спасибо за любые предложения.
G.R.