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

MovieSkin e VideoSkin

In questa lezione abbandoniamo le immagini statiche e applichiamo sulle facce del cubo MovieClip e Video
In questa lezione abbandoniamo le immagini statiche e applichiamo sulle facce del cubo MovieClip e Video
Link copiato negli appunti

MovieSkin e VideoSkin

In qualche occasione possiamo volere più "azione" sulle superfici dei nostri oggetti 3D, per esempio, un news ticker, oppure un video su un oggetto a forma di TV, oppure dei colori "abbaglianti" all'interno di una scena da discoteca. Questo può essere fatto utilizzando MovieSkin e VideoSkin, che permettono rispettivamente di associare un MovieClip o un video a un oggetto.

MovieSkin sfrutta un MovieClip e BitmapData per creare un effetto di distorsione più "elegante" durante le animazioni; la clip può essere statica o animata ed eventualmente contenere della musica. VideoSkin sfrutta invece un oggetto di tipo Video.

Riutilizziamo un vecchio filmato

Prendiamo come base il cubo con applicate le texture visto precedentemente e cambiamo la TextureSkin in una MovieSkin.

Abbiamo bisogno di un filmato da utilizzare per la skin: possiamo crearne uno nuovo oppure prenderne uno già realizzato, sia creato da noi o reperito sul web. Prestiamo attenzione al fatto che le sue dimensioni devono essere adatte a quelle del cubo, per questo possiamo anche creare un nuovo MovieClip sullo stage con dimensioni appropriate e importare in esso l'swf che vogliamo utilizzare. Diamo come identificatore nei settaggi di esportazione il nome desiderato (nell'esempio, motor).

La funzione createScene() avrà il seguente codice

Listato 36. Crea la scena con il cubo e le texture

function createScene(Void):Group{
    var g:Group = new Group();
    var skin:MovieSkin = new MovieSkin(motor);
    var box:Box = new Box(80,80,80,'tri');
    box.setSkin( skin );
    
    var ease:Ease = new Ease();
    var tg:TransformGroup = new TransformGroup();
    rotint = new RotationInterpolator( ease.create(),400 );
    rotint.setAxisOfRotation( new Vector( 2, 0 , 1));
    rotint.addEventListener(InterpolationEvent.onEndEVENT, this, loop);
    tg.setTransform(rotint);
    tg.addChild(box);
    g.addChild(tg);
    return g;
}

Abbiamo inserito un RotationInterpolator per muovere automaticamente il cubo, inoltre in Flash abbiamo inserito sullo stage due pulsanti per avviare o fermare la rotazione del cubo e la riproduzione della clip filmato. Il risultato è questo:

Cubo con applicato un movieclip come texture

Nell'esempio le linee rosse ai bordi delle facce del cubo fanno parte del movieclip "motor".

Nota: quando fermiamo la rotazione, alcune facce mantengono la skin mentre altre la perdono. Questo è dovuto al fatto che interrompiamo l'interpolatore di rotazione durante il rendering, Sandy richiede una qualche sincronizzazione con l'evento onRenderEvent dell'oggetto World3D.

"© Petit Publications 2006" - diritti riservati

Ti consigliamo anche