Creare filmati Flash con PHP e Ming
Pagina 1 di 5
1. Introduzione a Ming
Ming è un progetto Open Source legato allo sviluppo di una libreria che permette di creare filmati SWF (Flash movie) attraverso PHP. Ming supporta Flash dalla versione 4 e una vasta gamma di features come: shapes, gradienti, immagini bitmap, morphing, testi, pulsanti, actions, movie clips, streaming audio mp3, transazioni di colori e molto altro.
Installare Ming non è complesso, in PHP 5 la libreiria 'php_ming.dll' è contenuta di default nella cartella delle estensioni di PHP, su Windows basterà quindi decommentare la riga:
;extension=php_ming.dlle riavviare il server per essere pronti a creare filmati SWF con PHP; nel caso la Dll non sia disponibile di default per la vostra versione di PHP, questa potrà essere scaricata dal sito ufficiale di Ming.
Ovviamente è possibile installare l'estensione anche su Linux ma, a tal fine, sarà necessario installare l'apposito pacchetto o compilare dai sorgenti l'estensione e poi riconfigurare il PHP in modo adeguato.
Dato che, come dicono gli Orientali, "un'immagine vale più di 1000 parole", la parte restante di questa breve guida sarà interamente dedicata all'analisi di casi pratici che ci auguriamo siano d'ispirazione per la creatività del lettore.
N.B.: Ai fini di una adeguata comprensione degli esempi è consigliabile che il lettore abbia una conoscenza, almeno di base, su Flash e ActionScript.
Cominciamo con qualcosa di semplice, creiamo il filmato di un semplice triangolo rosso su sfondo arancione:
<?
// settiamo la scala della nostra animazione
// e la versione del Flash player che utilizzaremo
ming_setScale(20.0);
ming_useswfversion(7);
// istanziamo il filmato come un oggetto
$clip = new SWFMovie();
// dimensioni del filmato, colore di sfondo, frame rate
$clip->setDimension(400,400);
$clip->setBackground(0xFF, 0x99, 0x00);
$clip->setRate(31);
// ActionScript per la creazione del triangolo
$mov = "
_root.createEmptyMovieClip('triangolo', 1);
with(_root.triangolo)
{
lineStyle(10, 0xFF0000, 100);
moveTo(200, 200);
lineTo(300,300);
lineTo(100, 300);
lineTo(200, 200);
}
";
// creazione e salvataggio della clip
$clip->add(new SWFAction(str_replace("\r","",$mov)));
$clip->save("flash/triangolo.swf");
?>
<html>
<head>
<title>Tringolo</title>
</head>
<body>
<object type="application/x-shockwave-flash"
data="flash/triangolo.swf"
width="400px" height="400px"
>
<param name="movie" value="flash/triangolo.swf">
</object>
</body>
</html>
Il risultato finale, richiamato da browser sarà simile al seguente:
Niente di eccezzionale per ora, ma abbiamo appena cominciato...







