Flash 10 Astro: 3D nativo vs Papervision3D

Sabato 3 Maggio, 2008

Adobe ha annunciato da tempo alcune nuove features (Hydra per i filtri grafici evoluti e una migliore gestione del testo) che saranno presenti nella prossima release di Flash. In particolare ha destato interesse l’introduzione del 3D (l’asse Z), la capacità quindi di Flash di manipolare oggetti in un mondo tridimensionale. La stessa Adobe precisa che si tratta in realtà di un 2.5D , come spesso viene indicato, una specie di “simulazione” di un vero e proprio mondo tridimensionale. Infatti si può ruotare un simbolo Flash introno all’asse z ma, nonostante questo, il simbolo rimane piatto nello spazio tridimensionale! Un po’ quello che accade quando si distorce una bitmap in Photoshop! Tutto questo, quindi, non ha niente a che fare con progetti come Papervision3D , Away3D , Sandy e molti altri, che contengono tutta una serie di features (camera, scene, texture, etc…) assenti “nell’Astro nascente”. In sostanza Adobe non vuole assolutamente sovrapporsi a progetti 3D di terze parti ma solo fornire uno strato nativo per migliorare le prestazioni di librerie 3D già esistenti.

Comunque sia la cosa importante è che Adobe sembrerebbe orientata ad introdurre queste funzionalità tridimensionale ad un alto livello , non aiutando affatto librerie complete e complesse come Paparevision3D. Da tempo, infatti, si usano sostanzialmente due tecniche per espandere le funzionalità di Flash: API di basso livello e API di alto livello .

Le API di basso livello vengono normalmente scritte in C/C++ e fanno parte del core di Flash, compilate quindi all’interno del Player. Questo metodo se da un lato garantisce una maggiore velocità di esecuzione, dall’altro aumenta le dimesioni del Player Flash.

Le API di alto livello sono invece scritte in Actionscript e non appartengono al core nativo. In altre parole sono del tutto simili a librerie che potremmo scrivere noi, con la differenza che vengono fornite direttamente da Adobe. Come accade con il rilascio di Flash 5, la prima introduzione dell’oggetto XML fu realizzata completamente in Actionscript, creando non pochi problemi di performance!
Il vantaggio è che librerie di questo tipo vengono compilate solo quando necessarie e scaricate quindi all’interno del file SWF. Come accade oggi con l’oggetto Tween (vedi fl.motion.* o fl.transition.*) interamente scritto in Actionscript (anche per questo sono nati progetti paralleli come Tweener (caurina.transitions.Tweener) o TweenerMax .
Proprio per questo motivo la comunità Papervision non è del tutto contenta della scelta di utilizzare API di alto livello, in pratica dello stesso “livello” di Papervision3D. Questo, infatti, potrebbe non influire sulle future performance di librerie 3D.

Comunque andrà a finire, la cosa importante è che Papervision3D non è morto, anzi!

Post correlati

UMap Flash Component (Beta v0.6)

Venerdì 29 Febbraio, 2008

image

È stata rilasciata la beta 0.6 del componente UMAP per Flash CS3 (Actionscript 3.0) - nel pacchetto è presente anche la versione per Flex. Tra le novità notiamo l’adozione di OpenStreetMap come provider predefinito. Inoltre è stato aggiunto un avanzato gestore dei Marker e una serie di ottimizzazioni varie.

Post correlati

Actionscript Flash contest: erase tool

Domenica 3 Febbraio, 2008

Premetto subito: non si vince nulla ! A parte l'orgoglio - caso mai - di aver risolto il problema.

QUEST - DOMANDA

Come si realizza un tool per cancellare, eliminare, ripulire, una "porzione" della grafica disegnata con le API di Actionscript 3.0?

Con Actionscript 3.0 alcuni oggetti visivi, come i MovieClip o gli Shape , espongono la proprietà graphics , un puntatore ad un altro oggetto che "serve" tutte le funzioni grafiche di disegno runtime. Ad esempio è possibile sviluppare una semplice applicazione di disegno. Questo oggetto graphics permette di disegnare qualsiasi cosa, ad esempio su un oggetto Shape , in modo semplice e rapido. Il problema è che una volta disegnato qualcosa è possibile ripulire tutto ma non una singola parte.

Disegnare una linea è facilissimo:

Actionscript:
  1. var myShape:Shape = new Shape ( ) ;
  2. addChild ( myShape ) ;
  3. //
  4. myShape. graphics . lineStyle ( 2 ,0xff0000, 1 ) ;
  5. myShape. graphics . moveTo ( 0 , 0 ) ;
  6. myShape. graphics . lineTo ( 100 , 100 ) ;

Disegnato qualcosa è possibile ripulire tutto con la semplice chiamata al metodo clear() :

ActionScript:
  1. myShape. graphics . clear ( ) ;

Ma se voglio "cancellare" solo un punto? Oppure dalle coordinate 50,50 a 100,100?

Cercando su Internet ho trovato numerosi esempi di "applicazioni di disegno" e, in effetti, nessuna supporta o propone lo strumento "cancella".

Avete qualche soluzione?

Teemat Post

Google Maps component per Flash

Venerdì 25 Gennaio, 2008

AFComponents UMAP

Google ha reso disponibile le API - in Javascript - per inserire le sue mappe in qualsiasi sito Web . Viediamo come realizzare la stessa cosa con Flash!

image Partiamo da un componente gratuito, UMAP (Universal ActionScript 3.0 Mapping API  - integrated with Google Maps ), sviluppato da AFComponents , una società verticalizzata su componenti per Flash/Flex davvero interessanti ea prezzi accessibili. Sul sito, dove è necessario registrarsi per usufruire dei download gratuiti, sono presenti anche le versioni di UMAP per ActionScript 2.0: G MAP Ver.2.6.1 . In questo caso noi analizzeremo la versione 0.4 Beta di UMAP per ActionScript 3.0 (all'interno del pacchetto c'è anche il componente Flex). Questa che andremo a vedere è - evidentemente - una versione beta e manca, quindi, di alcune funzionalità presenti nella versione per Actionscript 2.0 ( G MAP Ver.2.6.1 ). Tuttavia, gurdando al futuro, mi sembra più interessante focalizzare l'attenzione su questa release; le ho provate entrambe e, nonostante la maggiore completezza della release per Actionscript 2.0, la versione beta per Actionscript 3.0 è notevolmente più performante.

Continua a leggere... »

Post correlati

Web2.0: Adobe ci prova con Apollo?

Martedì 13 Febbraio, 2007

Apollo è il nome in codice (per ora) di un ambizioso progetto Adobe destinato al mondo RIA (Rich Internet Applications) e Web2.0, Ajax compreso. A qualcuno ricorda Macromedia Contribute , a qualcun'altro Macromedia Central . C'è, altresì, chi vede in Apollo la mera unione -  o possibilità - di far convivere elementi Flash e PDF (cosa tra l'altro già fattibile con Flash Paper )!

Continua a leggere... »

Post correlati

Come inserire Google Map nel proprio Web

Martedì 23 Gennaio, 2007

Web2.0 significa anche software distribuito via API. La possibilità di sfruttare funzioni e funzionalità remote altrove risulta estremamente utile in realtà come Internet. Oltre a Yahoo, con il suo ToolKit 2.0 style, anche Google - nell'ambito della geo-referenzazione - propone i suoi strumenti free, in questo caso per la manipolazione e gestione delle mappe.

Google Maps API permette di inserire Google Maps nelle proprie pagine Web tramite Javascript.

Continua a leggere... »

Post correlati