Hello,
Let’s say I have a movie clip… it’s a dynamically created movie clip. In this movie clip i want to put several other movie clips that have other content being loaded into them. Such as a jpeg image, a library ready movieclip, and text retrieved from a database using PHP.
What I want to know… is how do I load all these “seperate” elements inside the one parent or container clip… using a preloader.
I know how to use preloaders for individual things such as images, and other swf files… but i don’t know how to create a preloader for MULTIPLE elements.
Thanks in advance for any guidelines and/or direction.
Sample: Loads a single image… halfway to what what I want.
/**
setHeader class
author: Ahmed I. Masri
version: 1.1
modified: 08/11/2008
copyright: Ahmed I. Masri
This code sets the header of the site
*/
// Import Built-In Classes
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;
// Import Custome Classes
import contentManager;
// Class Definition
class setHeader {
// Variable Definitions
var headerXPos:Number;
var headerYPos:Number;
var container:MovieClip;
var headerHolder:MovieClip;
var miniLoader:MovieClip;
var listener:Object;
var headerLoader:MovieClipLoader;
// Public Function to start preloader
public function setHeader() {
// Define scope of container
container = _root.mc_stageHolder;
// Set Position according to language
if (_global.lang != "ar") {
headerXPos = 0;
headerYPos = 5;
} else {
headerXPos = 540;
headerYPos = 5;
}
// Run Function to set header
setLogoAndPos();
}
// Private function to set the header of the site
private function setLogoAndPos():Void {
// Variable Definition
headerHolder = new MovieClip;
headerLoader = new MovieClipLoader();
listener = new Object();
// Attach listner to stageLoader Movie Clip Loader
headerLoader.addListener(listener);
// Create empty Movie Clip to hold Header content
headerHolder = container.createEmptyMovieClip("mc_headerHolder", container.getNextHighestDepth());
headerHolder._x = headerXPos;
headerHolder._y = headerYPos;
// Delegate (pre)loading functions
listener.onLoadStart = Delegate.create(this, onLoadStart);
listener.onLoadProgress = Delegate.create(this, onLoadProgress);
listener.onLoadInit = Delegate.create(this, onLoadInit);
// Attach preloader clip for loading process
miniLoader = container.attachMovie("mc_miniLoader", "mc_miniLoaderHeader" , container.getNextHighestDepth(), {_x:headerXPos, _y:headerYPos});
miniLoader.mc_preloaderBar._width = 0;
// Load main movie
headerLoader.loadClip("./images/logo/" + _global.lang + "-logo.jpg", headerHolder);
}
// Function to handle start of (pre)loading
private function onLoadStart():Void {
// Set _alpha of header to 0
headerHolder._alpha = 0;
}
// Function to handle progress of (pre)loading
private function onLoadProgress(mc:MovieClip, l:Number, t:Number):Void {
// Update Text Field and Progress Bar
miniLoader.mc_preloaderBar._width = (l / t) * 100;
}
// Function to handle completion of (pre)loading
private function onLoadInit():Void {
// Tween header to fade in
var headerHolderTween:Tween = new Tween(headerHolder, "_alpha", Strong.easeOut, 0, 100, 10, false);
var thisButton = headerHolder;
thisButton.onPress = function() {
// Change page content
var lcontent:contentManager = new contentManager("change", "home");
}
// Remove miniLoader
miniLoader.removeMovieClip();
}
}