Matteo Pignatelli
a- a+

Ombreggiatura

In qualsiasi lavoro di grafica capita spesso di dover ombreggiare diversi elementi della scena. Puo' rendersi quindi utile uno script atto ad ombreggiare secondo parametri univoci (una cosa simile agli effetti di livello in photoshop, per intenderci) una serie ordinata di oggetti (MC).

Cominciando creando "n" MC con grafica a piacere e inserendo un'istanza per uno sullo stage.

Nominiamo con un numero progressivo, partendo da 0, ogni istanza di MC presente sullo stage che desideriamo ombreggiare.

Per una comoda centralizzazione del codice creiamo un MC vuoto e chiamiamolo "controls" , poi inseriamone un'istanza sullo stage e chiamiamola sempre "controls".

Evidenziamo l'istanza del MC "controls" e nel pannello "Actions" scriviamo il seguente codice:

onClipEvent(load){
// Imposta il numero di oggetti da ombreggiare
var oggetti = 3;
// Imposta la var che determinera' la posizione _x dell'ombra rispetto all'oggetto
var xOmbra = 3;
// Imposta la var che determinera' la posizione _y dell'ombra rispetto all'oggetto
var yOmbra = 3;
// Imposta il valore _alpha dell'ombra (usata come "opacita'")
var alphaOmbra = 35;
// Imposta in esadecimale il colore dell'ombra.
var coloreOmbra = "0x000000";
// Crea un array che utilizzeremo come oggetto colore per i MC ombra
var oggCol = new Array(oggetti);
// Imposta un ciclo ripetuto per ogni oggetto
for (var i=0;i // Duplica ogni MC *con un numero come nome di istanza* che si trovi in _root
duplicateMovieClip(_root[i], "ombra" +i, i);
// Porta il MC ombra dietro il MC originale
_root["ombra" +i].swapDepths(_root[i]);
// crea un oggetto colore per ogni MC ombra
oggcol[i] = new Color(_root["ombra" +i]);
// Imposta il colore per ogni oggetto colore al valore impostato in "coloreOmbra"
oggcol[i].setRGB(coloreOmbra);
// Imposta la posizione _x dei MC ombra rispetto a quella dei MC originari
_root["ombra" +i]._x = _root[i]._x + xOmbra;
// Imposta la posizione _y dei MC ombra rispetto a quella dei MC originari
_root["ombra" +i]._y = _root[i]._y + yOmbra;
// Imposta l'alpha dei MC ombra al valore impostato in "alphaOmbra"
_root["ombra" +i]._alpha = alphaOmbra;
}
}

Con poche righe di codice avremo creato un'ombra facilmente modificabile in posizionamento, colore ed opacita'. Perche' tutto funzioni correttamente e' necessario:

1) nominare correttamente le istanze di MC da ombreggiare, anche in caso di aggiunte successive;
2) aggiornare in base al numero di oggetti da ombreggiare la variabile locale "oggetti" presente nella riga 3 dello scripting nell'istanza di MC "controls".

Buon divertimento :)



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Graziano
Hai qualche domanda da fare?