Introduco oggi un argomento interessante e vasto che ha il suo “core” nell’uso della classe DisplacementMapFilter. Questa classe permette di applicare un Filtro mappa di spostamento ad un oggetto visuale Flash (Bitmap, Sprite, etc…). Di filtri, Flash CS3, ne ha vari ed appartengono tutti alla stessa famiglia. Tuttavia il DisplacementMapFilter ha caratteristiche davvero particolari, come vedreno, che lo rendono straordinario nella generazione di effetti davvero spettacolari.
DisplacementMapFilter – clicca per aprire il filmato Flash
Synopsis
Ci concentriamo, ovviamente, sulla classe DisplacementMapFilter. Nell’esempio allegato a questo post uso il metodo perlinNoise() solo per generare una mappa di spostamento. In realtà potete usare una qualsiasi altra mappa-immagine, anche una vostra fotografia. Tuttavia, per particolari effetti, sono consigliate immagini simili a quelle generate proprio da perlinNoise() o comunque in una scala cromatica tale da mostrare sfumature di colore omogene (ma dipende da caso per caso).
La classe
DisplacementMapFilterutilizza i valori dei pixel di un oggettoBitmapData(noto come immagine della mappa di spostamento) per eseguire un effetto spostamento su un nuovo oggetto. Di solito l’immagine della mappa di spostamento è diversa dall’oggetto di visualizzazione vero e proprio o dall’istanza BitmapData a cui si applica il filtro. Un effetto di spostamento richiede lo spostamento dei pixel nell’immagine filtrata (in altre parole, il loro spostamento dalla posizione originale). Questo filtro può essere utilizzato per creare un effetto spostato, deformato o screziato.
La formula che utilizza questo filtro, per i più curiosi, è la seguente:
1 | dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256) |
Torneremo più avanti a trattare questo particolare filtro, con una serie di esempi davvero interessanti.









4
Non ci sono commenti per questo Post
Lascia un commento