Preloader pour Form et DataBinding
Le nouveau updater 7.2 pour Flash MX 2004 est arrivé. Celui-ci permet enfin de réaliser des preloader pour des applications Flash réalisées avec la technique des Form.
Pour réaliser des preloader avec des composants de Flash MX 2004, il existe différentes techniques :
Technique 1 : Export in second frame
Vous utilisez un seul fichier .fla avec au moins deux frames. Le frame 1 contient le preloader et les frame suivants contient votre application.
Pour tous les composants précompilés Flash MX 2004 et les classes de votre application, vous devez décocher "Export in first frame" avec l'option "Linkage Properties" des composants dans la librairie de votre application.
Vous devez utiliser l'option File > Publish Settings, cliquer sur Flash tab et cliquer sur Settings dans ActionScript version pour indiquer un frame (par exemple 2) pour Export frame for classes.
Macromedia a publié un exemple qui utilise cette technique :
http://www.macromedia.com/devnet/mx/flash/articles/vidgal_structure_04.html
A mon avis, c'est un peu compliqué et surtout ça ne fonctionne pas si vous utilisez des Form et des DataBinding.
Technique 2 : Utiliser un preloader séparé avec un composant Loader
Avec cette technique, deux fichiers sont utilisés : un pour le preloader et un autre pour votre application.
L'idée est d'utiliser le composant Loader fourni dans Flash MX 2004 avec un composant ProgressBar.
Le fichier preloader a la même taille/dimension que votre fichier application. Vous utiliser un composant Loader associé à un composant ProgressBar. Le contentPath du composant Loader contient le fichier swf de votre application.
Très important : Mettez dans le preloader, la ligne suivante pour votre instance de Loader :
myLoader.contentHolder._lockroot = true;
L'updater 7.2 est important car il corrige les bugs avec les ComboBox et les Alert.
Le défaut de cette technique est la taille du preloader : 31 ko minimum.
Technique 3 : Utiliser un preloader séparé (sans composant MX 2004)
Avec cette technique, deux fichiers sont utilisés : un pour le preloader et un autre pour votre application.
Le fichier preloader n'a pas de composant Flash MX 2004.
Dans l'exemple fourni, on utilise le preloader de la demonstration de Macromedia Deconstructing the Flash Video Gallery Application.
Votre preloader doit avoir la même taille/dimension que votre application. Le code est le suivant :
this.createEmptyMovieClip("home", 1);
home._lockroot = true;
//Load the movie we need to start
home.loadMovie("restaurant.swf");
stop();
L'instruction home._lockroot = true; est très importante.
Pour le preloader, on utilise le fichier preloader.as de la démonstration de Macromedia (qui utilise une fonction onEnterFrame). On a modifié la couleur par un Tint.
N'oubliez pas de recompiler votre application avec l'updater 7.2. Il est recommandé d'utiliser les composants de l'updater 7.2. Pour ceci, dragger un composant du Component Panel dans le Stage et choisissez "Replace existing component" si la boite de dialogue "Resolve Component Conflict" apparait. Réalisez ceci pour chaque composant utilisé dans la librairie de votre application.
Le preloader a une taille de 2 Ko. Cette technique fonctionne avec les DataBinding et les Form.
La démonstration Restaurant Finder utilise cette technique.
preloader.zip (184 Ko) pour Restaurant Finder