A la découverte de Ming!

Bonjour à tous,

Aujourd’hui je vous propose de partir à la découverte de MING.
Non, ce n’est pas une contrée asiatique, ni la dynastie éponyme dont je vais vous parler, ni même une manière de faire des chinoiseries dans notre code 🙂

Je vous parle de la librairie MING

Nous voici donc à bord d’un autre navire que GD (ca me change un peu ;)), pour une petite balade de découverte de cet outil permettant de générer (gratuitement) des fichiers d’animations SWF.
Evidemment, certains détracteurs me diront qu’on en est déjà à FLash X/AS 3 mais moi, je suis fan de l’idée de base du format donc… On y va!

Tout d’abord choisissons un objectif simple et joli.
Le morphing est une des choses que j’apprécie le plus dans le format SWF.

Donc tentons l’expérience.

Remarque préliminaire: Pour ceux qui ne disposent pas d’un hebergeur ayant activité cette librairie, vous pouvez tester le code ci-dessous vie XAMPP ou easyPHP en ayant préalablement activité par vous même cette libraire

Le code:

  1. span class= »co1″>//Créons une instance de morphing
  2.  
  3. /* Image de départ */
  4.  
  5.     $s = $p->getShape1(); //Et définissons l’image de départ de notre morphing
  6.     $s->setLine(0, 0, 0, 0); //On défini le style du tracé
  7.  
  8.     $s->setLeftFill($s->addFill(0xff, 0, 0)); //On définit notre couleur de remplissage
  9.     $s->movePenTo(-1000,-1000); //On place notre ‘crayon’ à un endroit précis dans le repère
  10.  
  11.     /* On trace des lignes en se déplacant de x pixels horizontalement et y pixels verticalement,
  12.     à l’aide de la fonction drawLine(x,y).
  13.     Attention, cette fonction part à chaque fois de la position courante du ‘crayon’ */
  14.  
  15.     $s->drawLine(2000,0); // 2000 pixels à droite
  16.     $s->drawLine(0,2000); // 2000 pixels vers le bas
  17.     $s->drawLine(-2000,0); // 2000 pixels vers la gauche
  18.     $s->drawLine(0,-2000); // 2000 vers le haut
  19.  
  20. /* Image d’arrivée: idem que pour l’image de départ */
  21.  
  22.     $s = $p->getShape2();
  23.     $s->setLine(60,0,0,0);
  24.     $s->setLeftFill($s->addFill(0, 0, 0xff));
  25.     $s->movePenTo(0,-1000);
  26.     $s->drawLine(1000,1000);
  27.     $s->drawLine(-1000,1000);
  28.     $s->drawLine(-1000,-1000);
  29.     $s->drawLine(1000,-1000);
  30.  
  31. /* Création de mon animation *///Créons une instance de film d’animation SWF
  32.     $m->setDimension(3000,2000); //Procurons-lui des dimensions
  33. //Et même un beau blanc en fond
  34.  
  35. /* Rendu de mon animation */
  36.  
  37.     $i = $m->add($p); //On ajoute notre morphing comme un calque à l’animation
  38.     $i->moveTo(1500,1000); //On place ce calque en position absolue
  39. //On parcoure le ratio entre le deux images 2 fois…
  40. //…Ainsi arrivée à la deuxieme image, on revient en morphing à la 1ere
  41. //Et à chaque étape, on crée une frame
  42.     }
  43.  
  44. /* Affichage de mon animation */‘Content-type: application/x-shockwave-flash’); //On indique au navigateur ce qu’on lui envoie
  45.     $m->output(); //On sort le résultat!

Le résultat:

Malheureusement One.com, mon hébergeur, ne me permet pas de m’amuser directement en ligne. Ainsi, si par la suite je vous montre d’autres exemples, ce seront des « clichés » de situations dynamiques. Une exécution de mon code sur votre machine donnera donc surement des résultats différents.

Bonne journée et bon amusement!

Tags: , ,