PicLens in Flash con Papervision3D 2.0: parte II
Martedì 17 Giugno, 2008Questa volta (vedi Piclens in Flash con Papervision3D 2.0) pubblico il codice (PicLens.as), ho dovuto rivedere alcune parti di codice, allineandomi così agli ultimi rilasci di Papervision3D 2.0 Great White ed ho eseguito alcuni aggiustamenti e aggiunte. Ho inserito in questa demo anche una serie di Knob, manopole, per modificare runtime alcuni parametri.
Simulazione del moto PicLens
Per avvicinarmi il più possibile al movimento orizzontale di PicLens originale, ho usato un piccolo stratagemma inserendo un "non visibile" DisplayObject3D come target per la camera:
-
__fooTarget = new DisplayObject3D();
-
...
-
__bv.cameraAsCamera3D.target = __fooTarget;
In pratica la camera punta sempre il DisplayObject3D posto dietro la serie di immmagini. Quando la camera si muove (con un movimento accelerato/inerziale) anche il DisplayObject3D la segue, ma con un leggero ritardo. Questo mi ha permesso di rendere l'effetto di moto morbido e del tutto simile a quello realizzato su PicLens originale:
-
__bv.cameraAsCamera3D.x += (( __slider.Value - __bv.cameraAsCamera3D.x)/10)/2.2;
-
__fooTarget.x += (( __slider.Value - __fooTarget.x)/5)/2.2;
Non ho utilizzato nessun Tween, ma una più semplice e performante funzione:
-
posizione += ((posizionefinale - posizione)/accelerazione)/inerzia;
Nel demo è possibile modificare alcuni parametri: focus, zoom e target. Quest'ultimo è la posizione del DisplayObject3D rispetto alle 99 immagini! Modificando questa posizione si noteranno cambiamenti nel movimento dell'intera scena.
Focus e Zoom sono invece proprietà dell'ambiente Papervision3D.
Interazione
Provate a cliccare sulle immagini...


























