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:
-
span class= »co1″>//Créons une instance de morphing
-
-
/* Image de départ */
-
-
$s = $p->getShape1(); //Et définissons l’image de départ de notre morphing
-
$s->setLine(0, 0, 0, 0); //On défini le style du tracé
-
-
$s->setLeftFill($s->addFill(0xff, 0, 0)); //On définit notre couleur de remplissage
-
$s->movePenTo(-1000,-1000); //On place notre ‘crayon’ à un endroit précis dans le repère
-
-
/* On trace des lignes en se déplacant de x pixels horizontalement et y pixels verticalement,
-
à l’aide de la fonction drawLine(x,y).
-
Attention, cette fonction part à chaque fois de la position courante du ‘crayon’ */
-
-
$s->drawLine(2000,0); // 2000 pixels à droite
-
$s->drawLine(0,2000); // 2000 pixels vers le bas
-
$s->drawLine(-2000,0); // 2000 pixels vers la gauche
-
$s->drawLine(0,-2000); // 2000 vers le haut
-
-
/* Image d’arrivée: idem que pour l’image de départ */
-
-
$s = $p->getShape2();
-
$s->setLine(60,0,0,0);
-
$s->setLeftFill($s->addFill(0, 0, 0xff));
-
$s->movePenTo(0,-1000);
-
$s->drawLine(1000,1000);
-
$s->drawLine(-1000,1000);
-
$s->drawLine(-1000,-1000);
-
$s->drawLine(1000,-1000);
-
-
/* Création de mon animation *///Créons une instance de film d’animation SWF
-
$m->setDimension(3000,2000); //Procurons-lui des dimensions
-
//Et même un beau blanc en fond
-
-
/* Rendu de mon animation */
-
-
$i = $m->add($p); //On ajoute notre morphing comme un calque à l’animation
-
$i->moveTo(1500,1000); //On place ce calque en position absolue
-
//On parcoure le ratio entre le deux images 2 fois…
-
//…Ainsi arrivée à la deuxieme image, on revient en morphing à la 1ere
-
//Et à chaque étape, on crée une frame
-
}
-
-
/* Affichage de mon animation */‘Content-type: application/x-shockwave-flash’); //On indique au navigateur ce qu’on lui envoie
-
$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!