Categoria ‘ActionScript’


Very short trick: cicli for più rapidi in Actionscript

In Actionscript i cicli for è bene utilizzarli sempre con cura. Ad esempio è bene usare variabili uint quando è possibile:

1
2
3
for( var i:uint = 0; i++; i < 100) {
// ...
}

È anche possibile usare la – non sempre conosciuta – forma:

1
2
3
4
5
var i:uint = 0;
// ...
for(;  i++; i < 100) {
// ...
}

Continua...

Actionscript 3.0: MovieClip over MovieClip

Appena uno sviluppatore Flash/Actionscript si appresta a scrivere una funzione simile ad un tooltip, si scontra immediatamente con il problema della propagazione degli eventi tra MovieClip sovrapposti. Infatti se un MovieClip (B) si sovrappone ad un MovieClip (A) che risponde, ad esempio, ad un evento MouseEvent.Mouse_OVER, passando con il mouse sul MovieClip (B) più alto nessun evento verrà più intercettato dal MovieClip (A):

MovieClip over MovieClip

Continua...

Adobe Creative Suite 4: Roma 21 ottobre 2008

Adobe Creative Suite 4: Roma 21 ottobre 2008

Adobe è lieta di invitarti agli eventi di lancio della nuova Adobe Creative Suite 4. Ti aspettiamo a Roma il 21 Ottobre e a Milano il 30 Ottobre. Per tutti i dettagli dell’incontro vai al minisito dedicato agli eventi CS4! In omaggio per tutti i partecipanti la t-shirt CS4!

Io cercherò di esserci… soprattutto per la maglietta :)

Continua...

Actionscript 3.0 for beginners: lesson #3

Continuiamo l’analisi dell’esempio del gioco Tic Tac Toe, presentato in Actionscript 3.0 for beginners: lesson #2. Eravamo arrivati alla funzione che crea la griglia di gioco:

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
33
34
35
36
37
38
/**
 * Disegno graficamente la griglia (3x3) a video
 *
 * @param        void
 * @return       void
 * @private
 */

private function createGrid():void {
    // puntatore temporaneo ad uno oggetto MovieClip
    // nota: qui si sarebbe potuto usare anche un oggetto Sprite
    // ma in questo caso mi serve di poter estendere l'oggetto
    // aggiungendo alcune proproetà personali. L'oggetto Sprite
    // è una classe chiusa e quindi non estendibile runtime, mentre
    // la classe MovieClip è una classe dinamica e quindi rende
    // possibile l'aggiunta di proprietà runtime
    var tm:MovieClip, i:uint = 0;
    // aggiungo in uno schema 3x3 i MovieClip
    for(; i < 9; i++) {
        tm                    = new MovieClip();
        addChild( tm );
        tm.x                  = OFFSETX+( (i%3)*(PLAYER_WIDTH+PLAYER_OFFSET) )
        tm.y                  = OFFSETY+Math.floor(i/3)*(PLAYER_HEIGHT+PLAYER_OFFSET)
        tm._index             = i;
        drawPlayer( tm, 0 );
    }
    // disegno le 2 linee veriticali e le 2 orizzontali
    with( this.graphics ) {
        lineStyle(6,0x666666);
        moveTo(OFFSETX,OFFSETY+(PLAYER_HEIGHT+15));
        lineTo(OFFSETX+( (PLAYER_WIDTH+20)*3 ),OFFSETY+(PLAYER_HEIGHT+15));
        moveTo(OFFSETX,OFFSETY+(PLAYER_HEIGHT+20)*2);
        lineTo(OFFSETX+( (PLAYER_WIDTH+20)*3 ),OFFSETY+(PLAYER_HEIGHT+20)*2);
        moveTo(OFFSETX+(PLAYER_WIDTH+15),OFFSETY);
        lineTo(OFFSETX+(PLAYER_WIDTH+15),OFFSETY+( (PLAYER_HEIGHT+20)*3 ));
        moveTo(OFFSETX+(PLAYER_WIDTH+20)*2,OFFSETY);
        lineTo(OFFSETX+(PLAYER_WIDTH+20)*2,OFFSETY+( (PLAYER_HEIGHT+20)*3 ));
    }
}

Continua...

Undolibrary MatrixArray: un’estensione della classe Array

MatrixArray è un’estensione della classe Array di Actionscript 3.0, con lo scopo di semplificare la manipolazione di Array lineari usati come matrice n x m. Questa classe fa parte della libreria Undolibrary (nel package undolibrary.utils.MatrixArray) che potete scaricaricare liberamente da Google code tramite un qualsiasi client SVN (Subversion) all’indirizzo:
svn checkout http://undolibrary.googlecode.com/svn/trunk/
In alternativa potete scaricare il solo file MatrixArray.as. Un’esempio dell’uso di matrici lineari è stato dato in Actionscript 3.0 for beginners: lesson #2 dove abbiamo visto un suo semplice uso nella realizzazione del classico game Tic Tac Toe. Una matrice di questo tipo è paragonabile ad un’area rettangolare (wxh), proprio come una scacchiera. Con questa classe è possibile trattare una matrice di questo tipo proprio come un reticolo con delle sue coordinate x ed y. La MatrixArray l’ho usata, ad esempio, nello sviluppo di tutta la logica dell’editor di Emotions Icons per Skype: Skypemote.

Continua...

ActionScript 3.0: lo sapevate che…

Alcune curiosità su Actionscript 3.0 non sempre note…

trace()

L’istruzione trace(), usata per il debug, ora supporta più parametri:

1
trace( a, b, c );

Continua...

Actionscript 3.0 for beginners: lesson #2

Come promesso ecco la seconda lezione su ActionScript 3.0! Oggi inizieremo l’analisi di un semplice progetto che riproduce il giochino del Tris o Tic Tac Toe. Ho cercato di inserire in questo esempio alcune caratteristiche particolari di ActionScript 3.0, cercando di dare spazio alla comprensione e non allo stile. Ne segue che se avessi dovuto scrivere il “gioco” davvero, probabilmente l’avrei strutturato in modo assai diverso, ma in questo caso ho cercato di mediare tra una classica programmazione compatta ed ermetica con una maggiormente comprensibile per i neofiti.

Continua...

Simple Flash Project Generator 0.5: una AIR application per Flash

In Actionscript 3.0 for beginners: lesson #1 abbiamo visto i passi necessari per la creazione di un progetto in Flash CS3. Così mi è venuta l’idea di automatizzare, in qualche modo, questo processo grazie alle caratteristiche di Adobe AIR.

Continua...

Actionscript 3.0 for beginners: lesson #1

Premessa

Actionscript 3.0 può rappresentare un buon punto di partenza per impratichirsi, chi non è pratico di programmazione C e/o C++, di programmazione orioentata agli oggetti (OOP). Inoltre, questa serie di lezioni, saranno utili a chi proviene da altri ambienti o da precedenti versioni di Flash.

Impostare un progetto

In questa prima lezione vedremo come impostare un progetto Flash CS3 generico. È bene utilizzare i progetti quando si prevede di avere a che fare con almeno più di un file. L’uso dei progetti è stato introdotto – da Macromedia – già nelle versioni  precedenti alla CS3, quindi dovrebbere essere argomento noto anche a sviluppatori Actionscript 2.0.
Comunque sia con Actionscript 3.0 – come vedremo – è possibile associare un file Actionscript (.as) al documento-filmato principale, il nostro .fla per intenderci. Questa caratteristica è molto utile e rende un progetto anche minimale composto da almeno due file: il .fla e .as associato. Per questo motivo è bene “sempre” partire da un progetto, così da organizzare sin da subito i vari file (.fla, .as, …) che faranno parte del nostro “pacchetto” di sviluppo.
Inoltre, una volta acquisita la dimesticazza con la filosofia ad oggetti, instrinseca in questo tipo di linguaggio, sarà normale ritrovarsi con numerosi file, anche per progetti sostanzialmente semplici.

Continua...

Considerazioni sull’evoluzione dei linguaggi di svilluppo: AS2 vs AS3

Leggendo l’articolo di Julius ActionScript 2 o ActionScript 3? Facciamo chiarezza! vorrei fare alcune considerazioni sull’evoluzione "inversa" di alcuni strumenti di sviluppo per chi, come me, viene dalla programmazione C/C++.

Continua...



Stop SOPA