Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 34 di 51
  • livello principiante
Indice lezioni

Skin trasparenti

Può essere utile inserire livelli di trasparenza, totale o parziale, ad alcune skin. Un esempio può essere l'effetto vetro.
Può essere utile inserire livelli di trasparenza, totale o parziale, ad alcune skin. Un esempio può essere l'effetto vetro.
Link copiato negli appunti

Passiamo ad analizzare alcune delle potenzialità grafiche offerte da determinate skin e dai filtri. Iniziamo dalle skin trasparenti: a volte può essere utile dare una trasparenza parziale ai nostri oggetti, ad esempio, per creare degli effetti di tipo "vetro", o per mostrare alcune parti interne di un oggetto. Il modo più semplice per farlo in Sandy è sfruttare le MixedSkin, che hanno un valore di trasparenza.

Abbiamo già visto le MixedSkin precedentemente, ma non abbiamo mai sfruttato la possibilità di renderle parzialmente (o totalmente) trasparenti. Analizziamo il costruttore:

public function MixedSkin( cb:Number, ab:Number, cl:Number, al:Number, tl:Number )

Dove i parametri sono rispettivamente:

  • cb - il colore di riempimento di ogni faccia
  • ab - il valore di trasparenza (da 0 a 100) per il riempimento
  • cl - il colore dei lati
  • al - il valore di trasparenza (0-100) per i lati
  • tl - lo spessore dei lati

Chiunque abbia utilizzato i drawing methods noterà una certa familiarità nel tipo di parametri rispetto ai comandi lineStyle e beginFill di Flash... che sono proprio i comandi che Sandy sfrutta nella classe MixedSkin.

Per facilitare i cambiamenti dei vari parametri, la classe MixedSkin ha dei getter e setter per ogni parametro. Nel prossimo esempio utilizzeremo solo la proprietà alpha Bkg, che gestisce la trasparenza del colore di riempimento.

Vediamo allora quale sia il codice necessario per ottenere questo risultato (per ruotare il cubo è necessario premere e trascinare col mouse nel filmato):

Utilizzo della trasparenza di una MixedSkin

Per prima cosa dobbiamo impostare nella scena i due oggetti (cubo e piramide) con le diverse skin, in questo modo:

Listato 43. Crea la scena con cubo e piramide

function createScene():Group {
    var bg:Group = new Group();
    // Create a Box
    var cube:Object3D = new Box(50, 50, 50, 'quad');
    skin = new MixedSkin(0x00FF00, alpha, 1, 10, 1);
    cube.setSkin(skin);
    cube.setBackSkin(skin);
    cube.enableBackFaceCulling = false;
    // Create a Pyramid inside the Box
    var pyramid:Object3D = new Pyramid( 60, 30, 30, 'quad');
    var skin2:Skin = new MixedSkin(0xFD6602, 100, 1, 10, 1);
    pyramide.setSkin( skin2 );
    // Transforms
    var trans:Transform3D = new Transform3D();
    trans.translate(0, -15, 0);
    tg2.setTransform( trans );
    tg2.addChild( pyramide );
    tg1.addChild( cube );
    tg1.addChild( tg2 );
    bg.addChild( tg1 );
    return bg;
}

Notiamo la variabile alpha usata nella MixedSkin.

Abbiamo inserito l'oggetto Transform3D che useremo per ruotare gli oggetti tramite mouse.

La piramide è creata all'interno del cubo, spostata in modo da risultare al centro dello stesso.

Ti consigliamo anche