Pré-chargeur d'une animation flash (1)

Les deux boutons ci-dessous proposent deux animations flash dotées d'un préchargeur. Autrement dit tant que l'animation n'est pas complètement téléchargée au niveau du navigateur une barre figurant la progression est montrée. Sous IE, en version 6, le streaming n'a pas lieu, l'animation étant proposée via l'élément <object> de XHTML. Vous le constaterez dans la première mais pas dans la seconde où le problème est contourné en demandant de télécharger un shell très léger qui, lui, commande le chargement de l'animation.

Les fichiers

Archive des fichiers


loader.sc
# =====================================================================
# loader.sc - JM Sarlat (décembre 2005)
# Le sprite movie est à remplacer par l'animation à charger...
# 1) swfc loader.sc
# 2) swfcombine loader.swf movie=monanimation.swf -o MonAnimation.swf
# =====================================================================
.flash name=loader.swf bbox=595x422 background=white version=6
# Éléments du chargeur proprement dit : fond et barre de progression
.swf fond  fond.swf
.swf regle regle.swf
# Premier frame : on monte le fond et la barre sur la scène
.frame 1
    .put fond  147 120
    .put regle 223 223
# Deuxième frame : on teste la quantité téléchargée et on retourne au 
# premier frame si incomplet en ayant au préalable fixé la progression.    
.frame 2
    .action:
	var tbl = _root.getBytesTotal();
	var abl = _root.getBytesLoaded();
	var pbl = math.round(abl/tbl*100);
	regle.gotoAndStop(pbl);
	if(pbl < 99) { 
	    _root.gotoAndPlay(1);
	}
    .end
# Dernier frame : il contient l'animation proprement dite, elle peut
# alors s'éxécuter quand on arrive à ce point.    
.frame 3
    .sprite movie
    .end
    .put movie 0 0
    .stop
.end
 
 

fond.swf

Animation flash


regle.swf

Animation flash


regle.sc
#======================================================================
# regle.sc - JM Sarlat (Décembre 2005)
# Barre de progression obtenue en interpolant entre les deux états 
# extrèmes en 100 frames.
#======================================================================
.flash bbox=152x12 name="regle.swf" background=white compress version=6
.box cadre width=152  height=12  color=#4273ED fill=none
.box reglev width=1   height=10  color=#64ED95 fill=#64ED95  line=0
.put cadre 0 0
.frame 1
    .put reglev 1 1
.frame 100
    .change reglev scalex=15000%
    .stop    
.end
 

shell.sc
#======================================================================
# shell.sc - JM Sarlat (Septembre 2006)
# Recette pour palier le défaut de streaming des animations flash avec
# IE (<= 6) lorsque ceux-ci sont incorporés dans l'élément <object> de
# xhtml. Voir :
# http://www.alistapart.com/articles/flashsatay/
#======================================================================
.flash name=shell.swf bbox=595x422 background=white version=6
.frame 1
    .action:
	# Chargement de l'animation donnée comme valeur du paramètre
	# path (shell.swf?path=monanimation.swf)
	_root.loadMovie(_root.path,0);
    .end
.end