Matteo Pignatelli
a- a+

Ombreggiatura

In qualsiasi lavoro di grafica capita spesso di doverombreggiare diversi elementi della scena. Puo' rendersiquindi utile uno script atto ad ombreggiare secondo parametriunivoci (una cosa simile agli effetti di livello inphotoshop, per intenderci) una serie ordinata di oggetti(MC).

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

Nominiamo con un numero progressivo, partendo da 0, ogniistanza di MC presente sullo stage che desideriamoombreggiare.

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

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

onClipEvent(load){// Imposta il numero di oggetti da ombreggiarevar oggetti = 3;// Imposta la var che determinera' la posizione _x dell'ombra rispetto all'oggettovar xOmbra = 3;// Imposta la var che determinera' la posizione _y dell'ombra rispetto all'oggettovar 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 ombravar oggCol = new Array(oggetti);// Imposta un ciclo ripetuto per ogni oggettofor (var i=0;i // Duplica ogni MC *con un numero come nome di istanza* che si trovi in _rootduplicateMovieClip(_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 ombraoggcol[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'ombrafacilmente modificabile in posizionamento, colore edopacita'. 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 lavariabile locale "oggetti" presente nella riga 3dello scripting nell'istanza di MC "controls".

Buon divertimento :)