Animons
Nous allons ici, afin de l'animer, faire du carré défini
dans notre fichier un Movie-Clip (ou "sprite" pour Ming).
Nous avons mis en gras les changements par rapport au fichier précédent.
(fichier 3.php)
<?php
$ligne = new SWFShape();
$ligne->setLine(1, 0, 0, 0);
$ligne->drawLine(0, 220);
$carre = new SWFShape();
$carre->setRightFill($carre->addFill(0, 0, 255));
$carre->movePenTo(-100, -100);
$carre->drawLineTo(100, -100);
$carre->drawLineTo(100, 100);
$carre->drawLineTo(-100, 100);
$carre->drawLineTo(-100, -100);
$mc_carre
= new SWFSprite();
$i = $mc_carre->add($carre);
for ($j=0; $j<90; $j++)
{
$mc_carre->nextFrame();
$i->rotate(-1);
}
$swf = new SWFMovie();
$swf->setDimension(800, 600);
$swf->setBackground(255, 255, 255);
$ligne1 = $swf->add($ligne);
$ligne2 = $swf->add($ligne);
$carre_tourne = $swf->add($mc_carre);
$ligne1->moveTo(130, 240);
$ligne2->moveTo(370, 240);
$carre_tourne->moveTo(250, 350);
header('Content-type: application/x-shockwave-flash');
$swf->output();
?>
Après avoir dessiné le carré que nous comptons
animer, nous créons avec le constructeur new
SWFSprite() un MovieClip, sur lequel nous posons l'objet
carre défini précédemment
(ici encore, ceux qui connaissent l'interface Flash ne seront pas
surpris: la notion d'objet est respectée). $i
est ensuite le pointeur faisant référence à
l'objet $carre que nous ajoutons
dans le clip $mc_carre.
Arrive la boucle for(), qui nous
permet d'animer la forme sans devoir répéter maintes
fois le même mouvement... Sachant que nous voulons faire tourner
le carré sur lui même, nous allons le bouger de 1°
sur 90 "frames" ou "images" (une notion bien
connue de ceux ayant déjà touché à Flash,
qui peut sembler obscure aux autres, auxquels nous recommandons
la lecture de notre "Introduction
à ActionScript", qui présente les notions
fondamentales de l'environnement Flash).
Ainsi, notre boucle for() défini
que, tant que l'indicateur d'incrémentation $j
n'a pas atteind 89, on déplace la tête de lecture sur
l'image suivante avec la méthode nextFrame()
de notre objet $mc_carre, et on
applique une rotation à l'objet référéncé
par $i avec la fonction rotate().
Enfin, comme précédemment, nous créons la
scène, sa taille et sa couleur, nous y instancions les objets
créés, et nous les positionnons. Pour terminer, nous
envoyons l'ensemble des données au navigateur... Notre animation
s'affiche.
Voici la fin de notre courte présentation de Ming. Il reste
encore beaucoup à voir, et nous vous donnons rendez-vous
pour d'autres articles...
Page 1 | 2
|