... oui bon, les livres sans pages ca existe pas, mais je trouvais pas de titre! :$

Il m'a été demandé recemment d'améliorer un livre dont les pages se tournent. Le script utilisé jusqu'à maintenant était celui dont j'ai déjà parlé sur ce blog, le fameux pageFlip. Il est vrai que le mouvement des pages est admirable de souplesse, mais il posait quelques problèmes que j'avais à résoudre:

  • Déjà, divers bugs
  • Il fallait pouvoir appliquer un effet (Flash 8) au livre
  • Le livre devait se centrer automatiquement lors de la première ou de la dernière page
  • Il fallait donner la possibilité d'inclure un zoom sur les pages
  • Il fallait pouvoir charger un SWF externe à l'animation
  • Il fallait pouvoir lancer un diaporama (déjà possible avec pageFlip, mais plus galère)

Si, comme je l'ai dis, le mouvement de pageFlip est admirable, il faut bien avouer qu'il n'en est pas de même pour la lisibilité du code! :\ Autant le dire, rajouter ce type de fonctionnalité au code existant, c'était mission impossible. J'ai donc recodé le moteur de A à Z, replongeant pour l'occasion dans les calculs de vecteurs, intersections de droites, et autres considérations du programme de maths de 1ere... Le calcul des matrices pour les dégradés des ombres (dont je ne m'étais jamais servis) m'a aussi pas mal accaparé. Sans compter le fait de redessiner systématiquement les contours du livre pour pouvoir appliquer des effets, étant impossible de le faire sur un composant....

Une autre problèméatique était aussi de rendre le composant "accessible", étant donné que c'est un graphiste pas codeur pour un sou qui devra s'en servir.

Bref, voilà mon resultat (sans preloading, pour moins de 700Ko):

Les images sont d'un dessinateur Chilien que j'ai découvert sur deviantart: pyromaniac

Le site auquel est destiné ce livre sera bientôt en ligne, je ferais une mise à jour à ce moment là ;)