Programmation PHP/MING
Conceptions d'animations pour pages web
modifierCréer les animations en Flash (.swf) se fait par des logiciels payants, cependant la librairie MING écrite en C, et utilisable en PHP, C++, Python et Ruby, permet de les générer gratuitement (mais pas d'éditer les .swf existant).
<?php
// Dessine deux boutons interactifs
function BoutonCarré($r, $g, $b)
{
$s = new SWFShape();
$s->setRightFill($s->addFill($r, $g, $b));
$s->movePenTo(-20,-20);
$s->drawLineTo(20,-20);
$s->drawLineTo(20,20);
$s->drawLineTo(-20,20);
$s->drawLineTo(-20,-20);
return $s;
}
function BoutonRond($r, $g, $b)
{
$s = new SWFShape();
$s->setRightFill($s->addFill($r, $g, $b));
$s->movePenTo(20, 20);
$s->drawCircle(20);
return $s;
}
$carré = new SWFButton();
$carré->setUp(BoutonCarré(0xff, 0, 0));
$carré->setOver(BoutonCarré(0, 0xff, 0));
$carré->setDown(BoutonCarré(0, 0, 0xff));
$carré->setHit(BoutonCarré(0, 0, 0));
$rond = new SWFButton();
$rond->setUp(BoutonRond(0xff, 0, 0));
$rond->setOver(BoutonRond(0, 0xff, 0));
$rond->setDown(BoutonRond(0, 0, 0xff));
$rond->setHit(BoutonRond(0, 0, 0));
$m = new SWFMovie();
$m->setDimension(320, 240);
$m->setBackground(0xff, 0xff, 0xff);
$i = $m->add($carré);
$i->moveTo(50, 50);
$i = $m->add($rond);
$i->moveTo(100, 50);
header('Content-type: application/x-shockwave-flash');
$m->output();
Depuis février 2016, Firefox bloque tous les contenus Flash par défaut, pour des raisons de sécurité. Cette technologie est donc amenée à être remplacée par JavaScript.