2 edo:
Ок. Следующий пример.
Код:

Код:
var movieBaseName:String = "resources/r";
var movieExtension:String = "jpg";
var currentMovie:Number = 1;
var moviesNumber:Number = 9;
var movieContainerClipBaseName:String = "movie";
var progressTextName:String = "progress";
var left:Number = 100;
var top:Number = 100;
var movieWidth:Number = 60;
var movieHeight:Number = 60;
var progressTextWidth:Number = 40;
var progressTextHeight:Number = 20;
var progressTextFont:String = "_sans";
var progressTextColor:Number = 0xffffff;
var progressTextSize:Number = 14;
var loading:Boolean = false;
var clipsLoader:MovieClipLoader = new MovieClipLoader();
var clipsLoaderListener:Object = new Object();
clipsLoaderListener.onLoadStart = function(targetClip:MovieClip)
{
loading = true;
targetClip._parent.createTextField(progressTextName, targetClip._parent.getNextHighestDepth(), targetClip._x + (movieWidth - progressTextWidth) / 2, targetClip._y + (movieHeight - progressTextHeight) / 2, progressTextWidth, progressTextHeight);
var progressTextFormat:TextFormat = new TextFormat();
progressTextFormat.font = progressTextFont;
progressTextFormat.size = progressTextSize;
progressTextFormat.color = progressTextColor;
targetClip._parent[progressTextName].setNewTextFormat(progressTextFormat);
}
clipsLoaderListener.onLoadComplete = function(targetClip:MovieClip)
{
targetClip._parent[progressTextName].removeTextField();
var previousMovie:Number = (currentMovie == 1 ? 9 : currentMovie - 1);
var previousMovieClipName:String = movieContainerClipBaseName + previousMovie;
clipsLoader.unloadClip(targetClip._parent[previousMovieClipName]);
targetClip._parent[previousMovieClipName].removeMovieClip();
loading = false;
}
clipsLoaderListener.onLoadError = function(targetClip:MovieClip, errorCode:String)
{
targetClip.removeMovieClip();
loadNextMovie();
}
clipsLoaderListener.onLoadProgress = function(targetClip:MovieClip, loadedBytes:Number, totalBytes:Number)
{
var percent:Number = Math.ceil((loadedBytes / totalBytes) * 100);
var progressTextField:TextField = targetClip._parent[progressTextName];
progressTextField._x = targetClip._x + (movieWidth - progressTextField.textWidth) / 2;
progressTextField._y = targetClip._y + (movieHeight - progressTextField.textHeight) / 2
progressTextField.text = percent + "%";
}
function loadNewMovie(movieNumber:Number)
{
var movieName:String = movieBaseName + movieNumber + "." + movieExtension;
var movieContainerClipName:String = movieContainerClipBaseName + movieNumber;
var containerClip:MovieClip = this.createEmptyMovieClip(movieContainerClipName, this.getNextHighestDepth());
containerClip._x = left;
containerClip._y = top;
clipsLoader.loadClip(movieName, containerClip);
}
function loadNextMovie()
{
currentMovie++;
if (currentMovie > moviesNumber)
{
currentMovie = 1;
}
loadNewMovie(currentMovie);
}
function createRectangleMovieClip(newName:String, parentClip:MovieClip, parentClipDepth:Number, newX:Number, newY:Number, newWidth:Number, newHeight:Number, newColor:Number, newAlpha:Number):MovieClip
{
var newClip:MovieClip = parentClip.createEmptyMovieClip(newName, parentClipDepth);
newClip.beginFill(newColor);
newClip.moveTo(0, 0);
newClip.lineTo(newWidth, 0);
newClip.lineTo(newWidth, newHeight);
newClip.lineTo(0, newHeight);
newClip.lineTo(0, 0);
newClip.endFill();
newClip._x = newX;
newClip._y = newY;
newClip._alpha = newAlpha;
return newClip;
}
clipsLoader.addListener(clipsLoaderListener);
loadNewMovie(currentMovie);
var nextButton = createRectangleMovieClip("clip", this, this.getNextHighestDepth(), 80, 200, 100, 20, 0xaaaaaa, 100);
nextButton.createTextField("myText", nextButton.getNextHighestDepth(), (nextButton._width - 80) / 2, (nextButton._height - 20) / 2, 80, 20);
nextButton.myText.autoSize = "center";
nextButton.myText.text = "Load Next";
nextButton.myText.color = 0x000000;
nextButton.onRelease = function()
{
if (!loading)
{
loadNextMovie();
}
}
Исходник прикрепляю.
Вопросы?