Articoli con Tag ‘Flash CS3’
Sfruttando una notevole caratteristica di Actionscript 3.0 (vedi Actionscript 3.0: tutto con l’operatore new) ho creato una classe ReflexMe in grado di generare un effetto “riflessione” su un qualsiasi MovieClip presente in libreria.
Il sorgente fa parte del pacchetto undolibrary – presente su GoogleCode – ma se volete potete scaricare il singolo file ReflexMe.as.
Continua...
La classe BitmapData permette di applicare in modo semplice effetti utilissimi per svariati scopi. Avevamo già visto come creare un effetto “nebbia tv” con poche righe di codice (Flash CS3: creare effetto nebbia TV in 1 secondo). Ora ci occuperemo di un altro effetto “spettacolare” che, come vedremo in seguito, permette di realizzare degli interessantissimi effetti grafici, come nell’esempio mostrato qui sotto: variate i parametri per osservare i differenti effetti, cliccando con il mouse sull’immagine generata questa può essere spostata.
Per l’occasione ho anche aggiunto un nuovo semplice componente (Check) in Undolibrary! Quindi aggiornate il vostro repository SVN. Il sorgente è disponibile qui: MapEffect.zip
Continua...
Papervision3D 2.0 (GreatWhite) è in continuo sviluppo e sono molte le funzione che quasi settimanalmente vengono aggiunte. Ad aprile è stato inaugurato il blog dedicato agli sviluppatori (http://dev.papervision3d.org/), tuttavia, la release 2.0, non è ancora stata rilasciata ufficialemente è spesso difficile carpirne le vere potenzialità. Una delle recenti novità introdotte, comunque, è il nuovo oggetto BasicView che crea un’ambiente 3D con pochissime righe di codice. Basta infatti creare questo oggetto per avere a disposizione scena, viewport e camera in un colpo solo.
Continua...
Ho aperto un progetto su Google Code: undolibrary. Per adesso, questa libreria, contiene un solo componente (Knob - manopola) da utilizzare tramite Actionscript 3.0. Ne parlo in quanto questo componente è propedeutico ad una serie di tutorial/sorgenti in Flash che volevo rendere disponibili.
Google Code
Prima di tutto introduco il concetto di Google Code per chi ne fosse estraneo. Google Code è un servizio gratuito messo a disposizione da Google con lo scopo di condividere codice ma, soprattutto, di condividerlo in modo collaborativo e con un sistema di versioning (subversion) e wiki utilissimo a gruppi di sviluppo (soprattutto opensource) o a singoli programmatori. Sul sito Google Code troviamo:
È possibile cercare progetti di altri, con un motore di ricerca appositamente costruito. Molti gruppi di sviluppo, composti da team che sono ubicati in zone geografiche distanti, sfruttano questa condivisione per lavorare insieme, garantiti da un sistema di versioning ormai assodato (checkout/checkin per non sovrapporsi o il supproto per creare dei branch – spinoff di progetti). Librerie e tools come Papervision3D, Tweener o AS3corelib, ad esempio, sono ubicati proprio su Google Code godendo da un lato di un hosting di sviluppo e dall’altro di un accesso pubblico per il download dei sorgenti e della documentazione.
Punto importante, poi, è la possibilità – aperto un progetto – di impostare gli accessi e la visualizzazione. Se volete potete proteggere il vostro lavoro o renderlo del tutto privato, invece che pubblico.
Continua...
Creare eventi personalizzati in Actionscript 3.0 è semplicissimo. Usarli, poi, permette di utilizzare il metodo addEventListener() e rendere il nostro oggetto del tutto standard. Se abbiamo creato una classe, ad esempio Bottone, è corretto associare a questa uno o più eventi tramite una apposita classe (derivata dalla classe Event) BottoneEvent. Potremmo realizzare tutti gli eventi che interessano il funzionamento del nostro oggetto: il click, il mouse over, o un qualsiasi altro evento! Definendo anche delle nostre personali costanti. Lo scheletro – generico – di una classe evento personalizzata è:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| package {
/*
** @name : BottoneEvent.as
** @description : Classe derivata da Event per gestire un proprio evento personalizzato
** @author : =undo=
** @web : http://www.undolog.com
** @email : g.fazioli@undolog.com
*/
import flash.events.*;
public class BottoneEvent extends Event {
public static const MIOEVENTO :String = 'pluto'; // codice qualsiasi, anche 'mioevento' in minuscolo
public var Valore :Number = NaN;
/*
** @name : BottoneEvent
** @description : constructor
*/
public function BottoneEvent ( type:String, v :Number, bubbles:Boolean= false, cancelable:Boolean= false ):void {
super(type, bubbles, cancelable);
this.Value = v ;
}
/*
** @override
*/
override public function clone():Event {
return new KnobEvent (this.type, this.Value , this.bubbles, this.cancelable);
}
}
} |
Continua...
Molto probabilmente, quando uscirà la nuova versione di Adobe Flash, librerie 3D a “basso livello” come FIVe3D faranno una brutta fine! Tuttavia, prima di “cestinarle”, ecco un esempio di quello che è possibile realizzare (con l’ultima release 2.1):
Il codice della demo qui sopra è abbastanza articolato, quindi non lo propongo integralmente online. Inserisco, comunque, alcune parti di codice interessanti.
Aggiornamento: per il sorgente clicca qui
Continua...
È possibile realizzare l’effetto dell’add-on di FireFox Piclens in Flash? Penso proprio di si! Grazie a Papervision3D è possibile avvicinarsi molto allo stesso effetto. Questo che presento è un prototipo di cui non posso – per ora – rendere disponibile il codice. Tuttavia è interessante notare quanto sia verosimile l’effetto. L’immagine che vedete ripetuta 100 volte è incapsulata all’interno del filmato SWF e le sue dimensioni sono di 256×256 (PNG 24bit trasparente). In alternativa è molto semplice leggere una lista di immagini da un file XML, cosa che ho già fatto in un altro demo. In questo prototipo ho utilizzato Adobe Flash CS3, Actionscript 3.0 e la versione 2.0 di Papervision3D (GreatWhite).
Continua...
Immaginiamo di avere un file XML che ad un certo punto contiene la seguente riga:
1 2
| ...
<media :thumbnail url="thumbs/pic10.jpg" type="image/jpeg"/> |
Come leggo, ad esempio, l’attributo url in Actionscript 3.0?
Se l’XML fosse stato questo:
1 2
| ...
<immagine url="thumbs/pic10.jpg" type="image/jpeg"/> |
Ottenuto il puntatore a <immagine/> (imgptr) sarebbe stato sufficiente:
Nel caso <media:thumbnail/>, invece, bisogna aggiungere:
1 2
| var mediaNS :Namespace = myXML .namespace("media")
trace( myXML .mediaNS ::thumbnail .@ url ); |
Continua...
Con Flash CS3 e Actionscript 3.0 sono state riviste molte cose tra cui la presenza dell’evento onReleaseOutside. Quest’ultimo, come altre tante cosine, è stato eliminato senza una vera e propria ragione e senza una vera e propria alternativa. Nella documentazione ufficiale di Actiobscript 3.0, nella sezione Migrazione da ActionScript 2.0, cercando per onReleaseOutside viene indicato:
Continua...
Era da tempo che seguivo il progetto Papervision3D, una libreria in Actionscript (2.0 e ora 3.0) per la manipolazione di oggetti 3D e rendering davvero spettacolare. Inauguro, così, la categoria Papervision3D (prossimamente anche una 3D), inserita sotto Flash CS3. Papervision3D è disponibile anche per Actionscript 2.0, anche se io personalmente tratterò solo la versione per Actionscript 3.0.
Continua...
Ultimi Commenti
Giovambattista Fazioli: @Nik: Sono contento! In bocca al lupo dunque!!
Nik: Lunedì ho l’esame di informatica su java, grazie mi sei stato utilissimo, il libro che ho era poco chiaro...
Marco: Ti ringrazio moltissimo, mi hai illuminato
ho risolto impostando [cc_objc] //OptionViewController.m -...
Giovambattista Fazioli: @Marco: Ti consiglio un approccio credo più corretto. Se hai eseguito il subclass del tab...
luigi: molto chiaro e semplice devo ammettere che anche scrivendo da un pà difficilmente uso delegati creati da...