Flex book chargement dynamique des images

Ce book repose sur une classe développée par ruben:
http://www.rubenswieringa.com/blog/flex-book-component-beta

Téléchargement du code source:
http://www.rubenswieringa.com/code/as3/flex/Book/source/Book%20demo.zip

Mon code:
http://www.progs.fr/exemple/08101201/code/index.html

Démo:
http://www.progs.fr/exemple/08101201/index.html

Mettez 8 photos nommées ainsi: im0.jpg, im1.jpg, im2.jpg...

Voiçi l'archive directement importable depuis flexbuilder (pour les impatients)
- Décompréssez le fichier
- Dans flexBuilder, faites File/Import/Flex project /
- Puis cochez project folder
http://www.progs.fr/files/BookAImporterSurFlexBuilder.rar

Explications:
Le chargement de la première photo va servir à donner la taille du book automatiquement et permettre une meilleure gestion de la résolution.
Il faut attendre la fin du chargement de cette photo afin de pouvoir récupérer la taille (toutes les photos doivent avoir la même résolution pour un meilleur résultat)

Il est possible de jouer sur la fin de chargement des images (Event.COMPLETE) pour optimiser le résultat.



Remplacer le fichier demo.mxml par ce code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
viewSourceURL="source/index.html"
applicationComplete="init()"
>
<mx:Script source="progs.as" />
</mx:Application>

Ajoutez le fichier progs.as
import com.rubenswieringa.book.*;
import mx.controls.Image;

[Bindable] private var myBook:Book;
[Bindable] private var im1:Image;

private function init():void{
var p:Page = new Page();
im1 = new Image();
im1.source="im0.jpg";
im1.addEventListener(Event.COMPLETE,suite);
p.addChild(im1);   
}
private function suite(e:Event):void{

myBook = new Book();
myBook.useHandCursor=true;
myBook.buttonMode=true;
myBook.openAt=0;
myBook.autoFlipDuration=600;
myBook.easing=0,7;
myBook.regionSize=200;
myBook.sideFlip=true;//pour pouvoir tourner la page en vertical
myBook.hardCover=true;
myBook.snap=false;
myBook.flipOnClick=true;
myBook.scaleX=1;
myBook.scaleY=1;
myBook.width=(im1.contentWidth)*2;
myBook.height=im1.contentHeight;

for(var i:int=0;i<8;i++) creerPages(i);       
addChild(myBook);

}
private function creerPages(i:int):void{
var p:Page = new Page();
var im:Image = new Image();

im.source="im"+i+".jpg";
p.addChild(im);
myBook.addChild(p);
}